问题描述
我想在我的回收站视图中显示2个对象,该对象只有两个单元格/行。每行以相应的布局xml文件的形式显示一个对象。
为此,我有一个适配器,但是我不知道如何告诉适配器我要显示两个不同的对象。所以我知道我需要两个不同的视图持有者,但是有人可以用正确的逻辑帮助我吗?
我有一个 Person 对象和一个 Car 对象(每个对象都有自己的xml文件-使用数据绑定)
我的适配器类如下:
class LifeAdapter(
private val adapterList: List<Any>
): RecyclerView.Adapter<HomeAdapter.LifeAdapter>() {
override fun getItemViewType(position: Int): Int {
return super.getItemViewType(position)
// How do I tell the adapter that adapterList[0] must return carViewHolder
// and that adapterList[1] must return personViewHolder
}
override fun getItemCount(): Int {
return adapterList.size
}
override fun onCreateViewHolder(parent: ViewGroup,viewType: Int) =
carHolder (
DataBindingUtil.inflate(
LayoutInflater.from(parent.context),R.layout.car_xml,parent,false) // This should probably not be in here
)
override fun onBindViewHolder(holder: carHolder,position: Int) {
// How do I bind the 2 objects to thier respective xml variables
}
inner class carHolder(
val carXMLbinding: carXMLBinding
): RecyclerView.ViewHolder(carXMLbinding.root)
inner class personHolder(
val personXMLbinding: PersonXMLBinding
): RecyclerView.ViewHolder(personXMLbinding.root)
}
我需要添加什么到 getItemViewType , onCreateViewHolder 和 onBindViewHolder 上?我将非常乐于助人,对此我将不胜感激。
请注意,adapterList中将永远只有两个元素。 adapterList [0] -汽车对象,然后 adapterList [1] -人对象。
请帮助?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)