Android片段backstack(最新更改相同片段上的更改ui)

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

我有3个碎片

  • 家庭片段
  • 用户片段
  • 图像碎片
我使用此方法添加片段:

  • add(R.id.frameLayout,HomeFragment,“HomeFragment”)
  • add(R.id.frameLayout,UserFragment,“UserFragment”)
  • add(R.id.frameLayout,ImagesFragment,“ImagesFragment”)
我的问题是:

我单击并启动此路径:

  • 添加
    HomeFragment

  • 在UserFragment中添加
    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