У меня есть PagerAdapter, который по какой-то причине не показывает данные при первом создании!Отображается только при втором создании.
Это PagerAdapter:
class ViewPagerAdapter() : PagerAdapter() {
lateinit var context: Context
lateinit var data: Data
constructor(context: Context?, data: Data) : this() {
this.context = context!!
this.data = data
}
override fun getCount(): Int {
return data.myArray.size
}
override fun isViewFromObject(view: View, `object`: Any): Boolean {
return view == `object`
}
override fun instantiateItem(container: ViewGroup, position: Int): Any {
val binding = DataItemBinding.inflate(LayoutInflater.from(context), container, false)
binding.data = data
binding.executePendingBindings()
container.addView(binding.root)
return binding.root
}
override fun getItemPosition(`object`: Any): Int {
return PagerAdapter.POSITION_NONE
}
override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
container.removeView(`object` as ConstraintLayout)
}}
Это вызов адаптера в действии:
override fun onStart() {
super.onStart()
val viewPagerAdapter = ViewPagerAdapter(this, data)
viewPager.adapter = viewPagerAdapter
viewPager.currentItem = data.myArray.lastIndex
indicator.setViewPager(viewPager)
}