【发布时间】:2020-12-04 11:27:19
【问题描述】:
我认为是参考问题。
RecyclerViews 似乎它们共享具有相同引用的项目。
我创建了两个recyclerview,我做了一个列表,我通过一个方法发送列表来创建另一个recyclerview。
例如,
val myAdapter = MyAdapter()
val myList = ArrayList<String>()
val yourAdapter = MyAdapter()
val yourList: ArrayList<String>? = null
private fun init(){
initAction()
list.add("lion")
list.add("cat")
list.add("dog")
myAdapter.setList(list)
rcvMy.adapter = myAdapter
initOtherRecyclerView(list)
}
private fun initOtherRecyclerView(mList: ArrayList<String>){
yourList = mList
yourAdapter.setList(yourList)
rcvYour.adapter = yourAdapter
}
private fun initAction(){
btnAdd.setOnClickListener{
myAdapter.items.add("Hello")
myAdapter.notifyDataSetChanged()
}
}
每当我单击btnAdd 时,它都会在rcvMy 中添加两个项目。
如何剪切引用?
【问题讨论】:
标签: android copy pass-by-reference weak-references strong-references