Android Fragment Backstack(更改UI在最新更改相同的片段上更改UI)



我有3个片段。

  • 家居
  • 用户范围
  • images fragment

我使用此方法添加片段:

  • add(R.id.frameLayout, HomeFragment, "HomeFragment");
  • add(R.id.frameLayout, UserFragment, "UserFragment");
  • add(R.id.frameLayout, ImagesFragment, "ImagesFragment");

我的问题:

我单击并开始以下路径:

  1. 添加HomeFragment
  2. 添加 UserFragment< - 单击"关注"按钮(关注BTN UI更改关注完成
  3. 添加ImagesFragment
  4. 添加 UserFragment< - 单击"关注"按钮(关注BTN UI更改 unlow tough完成
  5. 按下返回按钮 back to step 3 -- show images fragment`
  6. 按BACK按钮back to step 2 -- show USERFRAGMENT` < - 糟糕!!!这是我的问题。在步骤4中,我单击"关注"按钮, untolofore完成。但是在步骤2中不更改UI吗?:(

如何在上更新UI上的UI 在同一片段上?

您有Instagram吗?请检查一下。打开XYZ页面并开始关注。单击Home BTN后(请勿按返回)再次打开XYZ页面,然后设置Unlolow。现在按返回按钮返回XYZ页面。

在您的用户范围内,添加onHidendchanged回调以刷新UI。如果在用户范围的简历后并不总是需要刷新,请使用shodredreloadscreen(在活动中添加)标志如下:

@Override
    public void onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
        if (hidden) {
            unregisterEventBus();
        } else {
            registerEventBus();
            if (((YourActivity) context).shouldReloadScreen()) {
                loadData();
                ((RevolveActivity) context).setshouldReloadScreen(false);
            }   
        }
    }

如果您没有必要在步骤4移动时显示映像fragment,请使用以下方法:

从步骤3移动到步骤4时,而不是添加用户fragment删除image fragment。这将仅保留一个在stacktrace中的用户范围实例。

最新更新