某天升级到AndroidX以后,适配一下,然后发现一个问题
怎么过时了还,然后随手点进去看看咋回事,然后就是
仔细一看这个两个BEHAVIOR根据自己的工具英语一see,这不跟以前的懒加载很是一样的东西么,说不如做,直接来个demo试验一下
确实是那么回事儿,so以后的懒加载就可以不用自己写了
注意版本要升级到1.1.0才会有这个标志
动态替换Fragment的问题,直接看代码
class IndexPagerAdapter(
fm: FragmentManager,
private val mFragments: List<Fragment>,
private val mTitls: List<CharSequence>
) :
FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
override fun getItem(position: Int): Fragment {
return mFragments[position]
}
override fun getCount(): Int {
return mFragments.size
}
override fun getItemId(position: Int): Long {
//注意一定要重写
return mFragments[position].hashCode().toLong()
}
override fun getItemPosition(`object`: Any): Int {
//第一种方法是直接返回POSITION_NONE
//第二种就是先判断是否发生了修改再判断
val index = mFragments.indexOf(`object`)
if (index == -1) {
return PagerAdapter.POSITION_NONE
}
return PagerAdapter.POSITION_UNCHANGED
}
override fun getPageTitle(position: Int): CharSequence? {
return mTitls[position]
}
}