如何在不干扰后退堆栈的情况下在后压时刷新前一个片段

use*_*222 3 android

我正在使用一个带有 viewpager 的 tabactivity 和附加的 fragmentA 活动。当我想移动 fragmentB 时,用当前的 fragmentA 替换 fragmentB。我需要在 FragmentB 中找到 onbackpress 的解决方案,刷新 fragmentA 而不更改 Backstack,因为我在一个选项卡中使用了近十个片段。

片段生命周期有没有什么方法

K.S*_*eak 7

当片段 B 超过片段 A 时,片段 A 是 onPause()。反压后,片段 A 是 onResume()。所以你可以创建一个布尔值来观察这个变化。

在片段 A

private boolean isBackFromB;

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    isBackFromB=false;
}

@Override
public void onPause() {
    super.onPause();
    isBackFromB = true;
}

@Override
public void onResume() {
    super.onResume();
    updateUI();
    if (isBackFromB) //Do something
}
Run Code Online (Sandbox Code Playgroud)