首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何扩展FragmentPagerAdapter类?

如何扩展FragmentPagerAdapter类?
EN

Stack Overflow用户
提问于 2021-01-04 07:38:09
回答 1查看 638关注 0票数 0

当我试图扩展类时,FragmentPagerAdapter在我的Android页面代码中是不推荐的。这个问题很烦人。我找了很多东西,但没有找到任何结果。请查看下面的页面

代码语言:javascript
复制
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;
}
}
EN

回答 1

Stack Overflow用户

发布于 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支持。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65559149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档