【发布时间】:2021-06-15 14:49:14
【问题描述】:
我在我的应用程序中使用viewPager2 并添加/删除片段。我正在尝试实现一个在运行时添加/删除选项卡的功能,也许了解notifyDataSetChanged() 的工作原理可能会帮助我实现我的目标。例如:mutableList 可能发生了什么变化?
这是我的适配器(顺便说一句,'titles' 只是电影标题的可变列表):
class DynamicViewPagerAdapter(fragmentActivity: FragmentActivity):
FragmentStateAdapter(fragmentActivity){
override fun createFragment(position: Int): Fragment {
return DynamicFragment()
}
override fun getItemCount(): Int {
return titles.size
}
override fun getItemId(position: Int): Long {
return position.toLong()
}
override fun containsItem(itemId: Long): Boolean {
return titles.contains(titles[itemId.toInt()])
}
fun addTab(title: String) {
titles.add(title)
notifyDataSetChanged()
}
fun addTab(index: Int, title: String) {
titles.add(index, title)
notifyDataSetChanged()
}
fun removeTab(name: String) {
titles.remove(name)
notifyDataSetChanged()
}
fun removeTab(index: Int) {
titles.removeAt(index)
notifyDataSetChanged()
}
}
【问题讨论】:
标签: android android-recyclerview notifydatasetchanged android-viewpager2