Kotlin- 我不知道如何再次将我的适配器与不在同一列表中的其他视图一起使用



我有一个简单的应用程序,它有拖曳片段和拖曳回收器视图我需要使用相同的适配器,但布局不同,与我在所有 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)
}

最新更新