如何在tablayout+viewpager中,使用同一个fragment的不同实例?

caibirdcnb 2019-01-04 12:55:12
在tablayout+viewpager中,如下面代码所示,
如果创建3个不同fragment的实例,一切正常;
但如果创建同一个fragment的3个实例,能运行,但tab和传进去的参数都乱了。

请问高手,如何在tablayout+viewpager中,使用同一个fragment的不同实例?谢谢了!


......

mTabLayout = view.findViewById(R.id.tab_layout);
mViewPager = view.findViewById(R.id.view_pager);

mTitleList.add("第一局");
mTitleList.add("第二局");
mTitleList.add("第三局");

//使用下面代码一切正常
mFragments.add(Fragment111.newInstance("xxx"));
mFragments.add(Fragment222.newInstance("yyy"));
mFragments.add(Fragment333.newInstance("zzz"));

//如果使用下面代码,那就出错
mFragments.add(Fragment111.newInstance("xxx"));
mFragments.add(Fragment111.newInstance("yyy"));
mFragments.add(Fragment111.newInstance("zzz"));

mViewPager.setAdapter(new FragmentStatePagerAdapter(getChildFragmentManager()) {
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}

@Override
public int getCount() {
return mFragments.size();
}

@Nullable
@Override
public CharSequence getPageTitle(int position) {

return mTitleList.get(position);
}
});

mTabLayout.setupWithViewPager(mViewPager);

......

...全文
483 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
落碧黄泉 2020-08-28
  • 打赏
  • 举报
回复
请问是什么低级错误造成的?我也遇到了相同的问题:获取到的参数是预加载的fragment里的参数
ruruoran 2019-11-27
  • 打赏
  • 举报
回复
引用 4 楼 caibirdcnb 的回复:
感谢各位,问题解决了,是低级错误造成的,主贴没问题


请问是什么低级错误造成的?我也遇到了相同的问题:创建的Fragment如果使用相同的xml文件,就会内容与tab标题不一致,而且只有一个Fragment显示又内容,其他Fragment显示空白。
caibirdcnb 2019-01-21
  • 打赏
  • 举报
回复
感谢各位,问题解决了,是低级错误造成的,主贴没问题
jklwan 2019-01-05
  • 打赏
  • 举报
回复
newInstance怎么写的,贴个代码
SemiraChen 2019-01-04
  • 打赏
  • 举报
回复
信息不够,看不出什么原因
王能 2019-01-04
  • 打赏
  • 举报
回复
具体怎么错乱的?截个图来

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧