当我试图扩展类时,FragmentPagerAdapter在我的Android页面代码中是不推荐的。这个问题很烦人。我找了很多东西,但没有找到任何结果。请查看下面的页面
package com.example.buyown;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
public class PageAdapter extends FragmentPagerAdapter {
int tabCount;
public PageAdapter(@NonNull FragmentManager fm, int behavior) {
super(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT );
tabCount= behavior;
}
@NonNull
@Override
public Fragment getItem(int position) {
switch (position){
case 0:return new buyOwnTab1();
case 1:return new buyOwnTab2();
default: return null;
}
}
@Override
public int getCount() {
return tabCount;
}
}发布于 2021-01-04 07:42:45
https://developer.android.com/reference/androidx/fragment/app/FragmentPagerAdapter的文档显示:
这个类被废弃了.
切换到ViewPager2,转而使用FragmentStateAdapter。
尽管从技术上讲,基于FragmentPagerAdapter与FragmentStateAdapter之间的内部结构,FragmentPagerAdapter很容易遵循,因为它依赖于findFragmentByTag + attach + detach + add,而FragmentStateAdapter和ViewPager2依赖于RecyclerView和“定期执行gcFragments()调用”,这要复杂得多,因此除非明确要求ViewPager2支持的新行为,否则没有理由从ViewPager切换--因为标准ViewPager也依赖于碎片支持的标准机制。
这就是为什么@SuppressWarnings("deprecation")有时也是一个有效的解决方案的原因,尽管并不总是如此。
IIRC,主要的区别是更简单的垂直滑动支持,更好的RTL支持。
https://stackoverflow.com/questions/65559149
复制相似问题