[英]onResume fragment method not being called
我有一个活动Activity1,有2个片段。 一切正常,但我有一个问题:
当我退出当前活动- 活动1 - (不调用finish ()
并转到另一活性2,然后我点击后退按钮上的最后一个活动我回去的活性1和此onResume
方法被执行
onResume
Activity1代码:
@Override
protected void onResume () {
super.onResume ();
fragmentManager.beginTransaction ().replace (
R.id.my_frame_container,
fragmentFactory.getFragment (Fragment1)
).commit ();
}
onResume
Fragment1代码:
@Override
public void onResume () {
super.onResume ();
Log.e ("onResume ", " Yes ");
}
从文档 :在onResume
片段的方法,当被叫onResume
活动的方法太。
但是,在我的情况下,返回活动时未调用Fragment的onResume。
您知道调用活动的onResume
时如何执行片段代码吗? 谢谢。
由于Fragment.onResume
绑定到包含活动的Activity.onResume
,因此在片段之间进行切换时不会调用此方法,因此您需要使用OnBackStackChangedListener
自己调用它,如下所示
getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener() {
public void onBackStackChanged() {
FragmentManager fm = getSupportFragmentManager();
if (fm != null) {
int bseCount = fm.getBackStackEntryCount();
if (bseCount > 0) {
Fragment fragment = fm.getFragments().get(bseCount - 1);
fragment.onResume();
}
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.