Junior — Middle
Он элемент же клетка түрлөрүн камтыган он тизмени кантип түзүү керек?
sobes.tech AI
AIден жооп
Androidда он түрлі элементтерден же клетка түрлеринен турган тизмени түзүү үчүн, адатта RecyclerView жана бир нече ViewHolder түрлөрү колдонулат.
Негизги кадамдар:
- Адаптердеги
getItemViewType(int position)методуна кайра жазып, ар бир элемент үчүн уникалдуу түрдү кайтарыңыз. onCreateViewHolderда түрүнө карап ар башка ViewHolder түзүңүз.onBindViewHolderда ViewHolder түрүнө ылайык маалыматтарды толтуруңуз.
Мисал:
class MultiTypeAdapter(private val items: List<Item>) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
override fun getItemViewType(position: Int): Int {
return items[position].type // түр 0дон 9га чейин
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
return when(viewType) {
0 -> Type0ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.item_type0, parent, false))
1 -> Type1ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.item_type1, parent, false))
// ... 9га чейин
else -> throw IllegalArgumentException("Белгисиз көрүнүш түрү")
}
}
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
when(holder) {
is Type0ViewHolder -> holder.bind(items[position])
is Type1ViewHolder -> holder.bind(items[position])
// ...
}
}
override fun getItemCount() = items.size
}
Мындайча, сиз бир тизмеде ар кандай клетка түрлөрүн ийкемдүү көрсөтө аласыз.