【发布时间】:2020-11-12 23:23:09
【问题描述】:
我想问一些关于我的代码的问题。
所以,我想检索我在复选框 recyclerview 中选择的数据,然后将其放入变量数组列表中。然后当我单击下一步按钮时,我可以在主代码中使用变量数组列表,然后我可以移动到下一页。你能帮我在我的编码中添加那个代码吗?
反正我用的是 kotlin,所以我需要代码 kotlin
这里是我的主要代码
private fun getData() {
mDatabaseReference.addValueEventListener(object : ValueEventListener {
override fun onCancelled(databaseError: DatabaseError) {
Toast.makeText(this@ChooseCategoryActivity, ""+databaseError.message, Toast.LENGTH_SHORT).show()
}
override fun onDataChange(dataSnapshot: DataSnapshot) {
dataCategory.clear()
for(getdataSnapshot in dataSnapshot.getChildren()) {
Log.i("dataKey", getdataSnapshot.key.toString())
val kategori = getdataSnapshot.getValue(Kategori::class.java)
dataCategory.add(kategori!!)
}
rv_user_kategori.adapter = UserCategoryAdapter(dataCategory) {
}
}
})
这里是我的适配器 recyclerview
class UserCategoryAdapter(private var data: List<Kategori>, private var listener: (Kategori) -> Unit) : RecyclerView.Adapter<UserCategoryAdapter.ViewHolder>() {
lateinit var ContextAdapter : Context
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val layoutInflater = LayoutInflater.from(parent.context)
ContextAdapter = parent.context
val inflatedView = layoutInflater.inflate(R.layout.layout_row_kategori, parent, false)
return ViewHolder(inflatedView)
}
override fun getItemCount(): Int = data.size
override fun onBindViewHolder(holder: UserCategoryAdapter.ViewHolder, position: Int) {
holder.bindItem(data[position], listener,ContextAdapter, position)
}
class ViewHolder(v: View) : RecyclerView.ViewHolder(v) {
private val namaKategori:TextView = v.findViewById(R.id.txt_row_kategori)
var checkbox:CheckBox = v.findViewById(R.id.txt_row_kategori)
fun bindItem(data: Kategori, listener: (Kategori) -> Unit, context : Context, position : Int) {
namaKategori.text = data.nama
itemView.setOnClickListener {
listener(data)
}
}
}
}
请帮助我找到解决方案。
【问题讨论】:
-
我是否理解正确,当有人选中或取消选中您的回收站视图项中的复选框时,您想通知您的活动/片段?
-
是的,就像那样。当我在我的复选框 recyclerview 上检查一些项目时,我想在复选框检查时获取文本并且该文本移动到主要活动
标签: android checkbox android-recyclerview