3 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超10個贊
片段onResume()
或onPause()
僅在調(diào)用活動onResume()
或時才onPause()
被調(diào)用。他們緊密地聯(lián)系在一起Activity
。

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個贊
這是我的Gor答案的更可靠的版本(使用fragments.size()是不可靠的,因?yàn)樵趶棾銎魏蟠笮〔粫p?。?/p>
getFragmentManager().addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
@Override
public void onBackStackChanged() {
if (getFragmentManager() != null) {
Fragment topFrag = NavigationHelper.getCurrentTopFragment(getFragmentManager());
if (topFrag != null) {
if (topFrag instanceof YourFragment) {
//This fragment is being shown.
} else {
//Navigating away from this fragment.
}
}
}
}
});
和“ getCurrentTopFragment”方法:
public static Fragment getCurrentTopFragment(FragmentManager fm) {
int stackCount = fm.getBackStackEntryCount();
if (stackCount > 0) {
FragmentManager.BackStackEntry backEntry = fm.getBackStackEntryAt(stackCount-1);
return fm.findFragmentByTag(backEntry.getName());
} else {
List<Fragment> fragments = fm.getFragments();
if (fragments != null && fragments.size()>0) {
for (Fragment f: fragments) {
if (f != null && !f.isHidden()) {
return f;
}
}
}
}
return null;
}
- 3 回答
- 0 關(guān)注
- 802 瀏覽
添加回答
舉報