相关文章推荐
任性的紫菜汤  ·  Fragment的setUserVisibl ...·  1 周前    · 
奔跑的手链  ·  Android Fragment ...·  1 周前    · 
睿智的楼房  ·  mysql字符串拆分·  8 月前    · 
还单身的苦瓜  ·  修改 android ListView ...·  1 年前    · 
风流倜傥的饭卡  ·  maven ...·  1 年前    · 

androidx.fragment.app.fragmentpageradapter' is deprecated java

androidx.fragment.app.FragmentPagerAdapter 已经被标记为过时(deprecated)。如果你使用该类来管理 ViewPager 和多个 Fragment 之间的切换,建议使用官方推荐的替代类 androidx.viewpager2.adapter.FragmentStateAdapter

FragmentStateAdapter FragmentPagerAdapter 之间最大的不同点是 FragmentStateAdapter 支持 RecyclerView 的 ViewHolder 模式,以及对 Fragment 的状态保存和恢复更为高效。

下面是一些使用 FragmentStateAdapter 的基本步骤:

  • 创建一个继承自 FragmentStateAdapter 的适配器类。
  • public class MyAdapter extends FragmentStateAdapter {
        private List<Fragment> mFragmentList;
        public MyAdapter(FragmentManager fragmentManager, List<Fragment> fragmentList) {
            super(fragmentManager, getLifecycle());
            mFragmentList = fragmentList;
        @Override
        public Fragment createFragment(int position) {
            return mFragmentList.get(position);
        @Override
        public int getItemCount() {
            return mFragmentList.size();
    
  • 在你的 Activity 或 Fragment 中,设置 ViewPager2 的适配器为 MyAdapter 类的实例。
  • ViewPager2 viewPager = findViewById(R.id.viewPager);
    List<Fragment> fragmentList = new ArrayList<>();
    //添加你的Fragment到fragmentList中
    MyAdapter myAdapter = new MyAdapter(getSupportFragmentManager(), fragmentList);
    viewPager.setAdapter(myAdapter);
    

    这样就可以使用 FragmentStateAdapter 替代 FragmentPagerAdapter,实现 ViewPager 和多个 Fragment 之间的切换。

    需要注意的是,如果你的项目已经使用了 ViewPager2,你就无需再切换到 FragmentStateAdapter 了,因为 ViewPager2 自身就已经包含了 FragmentStateAdapter 的功能。

    • 2055
  •