Android片段backstack(最新更改相同片段上的更改ui)
我有3个碎片Android片段backstack(最新更改相同片段上的更改ui),android,android-fragments,fragment-backstack,Android,Android Fragments,Fragment Backstack,我有3个碎片 家庭片段 用户片段 图像碎片 我使用此方法添加片段: add(R.id.frameLayout,HomeFragment,“HomeFragment”) add(R.id.frameLayout,UserFragment,“UserFragment”) add(R.id.frameLayout,ImagesFragment,“ImagesFragment”) 我的问题是: 我单击并启动此路径: 添加HomeFragment 在UserFragment中添加UserFragm
- 家庭片段
- 用户片段
- 图像碎片
add(R.id.frameLayout,HomeFragment,“HomeFragment”)代码>
add(R.id.frameLayout,UserFragment,“UserFragment”)代码>
add(R.id.frameLayout,ImagesFragment,“ImagesFragment”)代码>
HomeFragment
UserFragment
,添加onHiddenChanged回调以刷新UI。
如果在UserFragment的resume背面并不总是需要刷新,请使用shouldReloadScreen(将其添加到活动中)标志,如下所示:
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if (hidden) {
unregisterEventBus();
} else {
registerEventBus();
if (((YourActivity) context).shouldReloadScreen()) {
loadData();
((RevolveActivity) context).setshouldReloadScreen(false);
}
}
}
如果从步骤4返回时不需要显示ImageFragment,请使用以下方法:
从步骤3移动到步骤4时,不要添加UserFragment,而是删除ImageFragment。这将在stackTrace中只保留一个UserFragment实例。plz在
show fragment
和add fragment
和update ui
@Yat3s代码中显示您的代码无需。请再次阅读我的问题,问题是UserFragment
是单个实例还是两个实例?@Yat3s我认为是两个实例。你有instagram吗?请检查一下。打开xyz页面并开始以下操作。单击home btn(不要按back)后,再次打开xyz页面并设置unfollow。现在按后退按钮返回xyz页面。您显示更改跟随btn uiI我发现了您的问题,有2个实例,您应该通知其他片段更新UI,您可以使用EventBus
或RxBus
。我的6个步骤就是示例。在instagram或spotify中,此更新ui运行良好。instagram允许用户打开未限制的页面和帖子。和按下后退按钮导航是很好的工作。在instagram中,如果打开同一页面10次,旧页面会在新页面发生更改时更新ui