Bluetooth module | #4

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))
}
}

1 комментарий для “Bluetooth module | #4”

  1. У меня в MainAtivity.kt строка startActivity(Intent(this, BaseActivity1::class.java)) ставит при импорте BaseActivity1 и дописывает com.example.bt_def.BaseActivity as BaseActivity1. Компиляция проходит успешно, но при запуске программа вылетает с ошибкой или без. Не подскажите, где искать проблему?

Добавить комментарий

Ваш адрес email не будет опубликован.