我正在开发一个从 Api 获取信息的 Android 应用程序。
这是我的想法。
1 个适配器可以完成这项工作。您需要的是单个适配器中的多个视图持有者。通过扩展 RecyclerView.ViewHolder 创建视图持有者。
例子:
class ExampleAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
val context = parent.context
return when (viewType) {
VIEW_TYPE_VIEW_HOLDER_ONE -> {
val view =
LayoutInflater.from(context).inflate(R.layout.view_holder_one, parent, false)
ViewHolderOne(view)
}
else -> {
val view = LayoutInflater.from(context)
.inflate(R.layout.view_holder_two, parent, false)
ViewHolderTwo(view)
}
}
}
override fun getItemViewType(position: Int): Int {
// Logic to return which view is which type
}
internal class ViewHolderOne(itemView: View) : RecyclerView.ViewHolder(itemView)
internal class ViewHolderTwo(itemView: View) : RecyclerView.ViewHolder(itemView)
}