У меня есть следующий класс (я передаю другой адаптер представления переработчика конструктору):
class BaseAdapter<T>(private var items: ArrayList<T?>, private val adapter: RecyclerView.Adapter<RecyclerView.ViewHolder>): RecyclerView.Adapter<RecyclerView.ViewHolder>()
Можно ли не передавать элементы напрямую и получать их из адаптера?
I я не хочу передавать элементы снова и хочу получить их от адаптера.
private var adapter: RecyclerViewAdapter? = null
adapter = RecyclerViewAdapter(items!!, applicationContext) // another adapter, can be any
recyclerView.layoutManager = layoutManager
recyclerView.adapter = BaseAdapter(items, adapter!!)
Как видите, я пропускаю элементы два раза, потому что мне нужно работать с ними в новом адаптере, например
override fun showAd(firstVisibleItemPosition: Int) {
if(isInsertionNeeded){
items.add(firstVisibleItemPosition + 1, null)
setVisibleItemPos(firstVisibleItemPosition + 1)
notifyItemInserted(firstVisibleItemPosition+1)
isInsertionNeeded = false
}
}