用不同的数据调用相同的片段

时间:2017-08-21 07:13:48

标签: android android-fragments greenrobot-eventbus

我有一个Fragment,其中我显示一个响应,这是一个用户的详细信息,该响应包含有关其他用户的信息(相同的json结构),并点击该链接我膨胀相同的片段(与不同的实例)显示信息,这种情况一直很好,直到这里。现在,当我从最后一个实例中按回键时,不会显示上一个片段,并且显示包含第n个用户数据的最后一个片段。

EG。片段A->(点击B个配置文件) - >片段A与B个配置文件 - >;(点击C个人资料)片段A与C个人资料

当我背压我得到的全部是

具有C概况的片段A->具有C概况的片段A-> app关闭。

我正在使用以下代码将片段添加到backstack。

ft.add(R.id.home_container_fl, baseFragment).addToBackStack(Fragment.class.getSimpleName()).commit();

我也使用事件总线同样会影响这种行为吗?

我该如何修复?

2 个答案:

答案 0 :(得分:0)

一种解决方案是创建片段的不同实例,每个实例都有自己的数据。这并不理想,因为您可能会创建大量实例。但是,它相当简单。一旦你得到这样的工作,你可以回去尝试找到一个更有效的内存解决方案。

答案 1 :(得分:0)

 Bundle b = new Bundle();
 b.putInt("url", arrayList1.get(i));
 HomePageFragment f = new HomePageFragment();
 f.setArguments(b);
 fragments.add(f);

尝试此代码...它将不同的数据值分配给片段。

相关问题