BaseActivity.kt
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
class BaseActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.fragment_list)
initRcView()
}
private fun initRcView(){
val rcView = findViewById<RecyclerView>(R.id.rcViewPaired)
rcView.layoutManager = LinearLayoutManager(this)
val adapter = ItemAdapter()
rcView.adapter = adapter
adapter.submitList(createDeviceList())
}
private fun createDeviceList(): List<ListItem>{
val list = ArrayList<ListItem>()
for (i in 0 until 5){
list.add(
ListItem(
"Device $i",
"34:56:89:56"
)
)
}
return list
}
}
ListItem.kt
data class ListItem(
val name: String,
val mac: String
)
ItemAdapter.kt
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import com.neco_dev.bt_def.databinding.ListItemBinding
class ItemAdapter : ListAdapter<ListItem, ItemAdapter.MyHolder>(Comparator()) {
class MyHolder(view: View) : RecyclerView.ViewHolder(view){
private val b = ListItemBinding.bind(view)
fun bind(item: ListItem) = with(b){
name.text = item.name
mac.text = item.mac
}
}
class Comparator : DiffUtil.ItemCallback<ListItem>(){
override fun areItemsTheSame(oldItem: ListItem, newItem: ListItem): Boolean {
return oldItem == newItem
}
override fun areContentsTheSame(oldItem: ListItem, newItem: ListItem): Boolean {
return oldItem == newItem
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.list_item, parent, false)
return MyHolder(view)
}
override fun onBindViewHolder(holder: MyHolder, position: Int) {
holder.bind(getItem(position))
}
}
У меня в MainAtivity.kt строка startActivity(Intent(this, BaseActivity1::class.java)) ставит при импорте BaseActivity1 и дописывает com.example.bt_def.BaseActivity as BaseActivity1. Компиляция проходит успешно, но при запуске программа вылетает с ошибкой или без. Не подскажите, где искать проблему?