我有一个简单的应用程序,它有拖曳片段和拖曳回收器视图我需要使用相同的适配器,但布局不同,与我在所有 tot 中找到的不在同一列表中,这是可能的还是我必须复制它并重复使用它?
我的适配器
class MainMarkAdapter constructor(private val activety: MainActivity, private var listOfData: ArrayList<MainMarkModling>,
val listener: ContentListener) : RecyclerView.Adapter<MainMarkAdapter.ViewHolder>() {
override fun getItemCount(): Int = listOfData.size
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
var inf = ViewHolder(LayoutInflater.from(parent!!.context).inflate(R.layout.min_mark_modling, parent, false))
return inf
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(listOfData[position], listener,listOfData)
}
class ViewHolder(itemView: View?) : RecyclerView.ViewHolder(itemView) {
fun bind(Data: MainMarkModling, listener: ContentListener,listOfData: ArrayList<MainMarkModling>) {
val dataListin2 = listOfData[adapterPosition]
var titlein = dataListin2.title
itemView.textView.text = titlein
itemView.setOnClickListener {
listener.onItemClicked(Data)
}
}
在充气时切换布局。
// YourAdapter.kt
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
val layoutId = when(true) {
true -> R.layout.for_true
false -> R.layout.for_false
}
return LayoutInflater.from(parent.context).inflate(layoutResId, parent, false)
}