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

片段生命周期中是否有任何方法

最佳答案

当片段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
}

10-08 06:58