android - 在 viewpager 内的片段上调用 onCreateView()
问题描述
我有viewpager
4个片段。我已将其设置offscreenPageLimit
为 4 并且没有覆盖getItemPosition
适配器,因为我不希望每次更改选项卡时都重新创建它们。
fragment
现在,当我想要重新创建一个特定的(这意味着调用 onCreateView)时,会有一个场景。那是在我选择之前或再次选择该片段时。这个怎么做?
解决方案
请试试这个适配器。这恢复以再次重新创建片段。
public class ViewPagerAdapter extends FragmentStatePagerAdapter {
private Fragment[] fragments;
private String[] titleList;
private int index;
public ViewPagerAdapter(FragmentManager fm, String[] titleList){ // titleList is list of title of fragments
super(fm);
fragments = new Fragment[titleList.length];
this.titleList = titleList;
}
@Override
public Fragment getItem(int position) {
Fragment fragment;
if (fragments[position] == null){
YourFragment yourFragment = new YourFragment();
fragment = yourFragment;
fragments[position] = fragment;
return fragment;
}else{
return fragments[position];
}
}
@Override
public int getCount() {
return titleList.length;
}
@Override
public CharSequence getPageTitle(int position) {
return titleList[position].toUpperCase();
}
}
推荐阅读
- teradata-sql-assistant - SELECT Failed 3706: 语法错误: 预期介于
- python-3.x - 如何以并行方式在具有超过 100 张纸的 xlsx 文件的每张纸上执行特定功能?
- android - Android 10 无网络流量 - Google Play 控制台预发布报告
- laravel - 为什么 Laravel Lighthouse GraphQL 运行多个 MySQL 查询(不是预先加载)?
- python - 如何在使用 python 请求下载之前选择视频质量?
- javascript - 如何在 Javascript 中创建一个 HTML 元素,它只维护自己的属性?
- r - 使用ggplot在`R`中绘制多列的箱线图
- c# - 我无法在 VisualStudio 2019 社区版本 16.6.2 中安装包“Microsoft.VisualStudio.Web.CodeGeneration.Design”
- .htaccess - 如何重定向 /postPOSTID.html /posts/POSTID/
- reactjs - 无法读取 .include 的属性未定义 - 反应