Android 带片段回溯的查询
假设我有两个片段:A和B 碎片A在上面。现在,我添加了片段B,将A保留在后台 现在,当按下后退按钮时,B被移除,A出现在顶部 A中是否有在此时被调用的回调方法Android 带片段回溯的查询,android,android-fragments,fragment-backstack,Android,Android Fragments,Fragment Backstack,假设我有两个片段:A和B 碎片A在上面。现在,我添加了片段B,将A保留在后台 现在,当按下后退按钮时,B被移除,A出现在顶部 A中是否有在此时被调用的回调方法 注意:onResume与活动密切相关,因此不被称为。只有在调用活动的onResume()时,才会调用片段的onResume()。很抱歉,没有回调,因为popToBackStack只会在替换事务而不是添加事务时重新创建片段 您可能需要添加到片段管理器中,并监视backbackbackbackentrycount getSupportFrag
注意:onResume与活动密切相关,因此不被称为。只有在调用活动的onResume()时,才会调用片段的onResume()。很抱歉,没有回调,因为popToBackStack只会在替换事务而不是添加事务时重新创建片段 您可能需要添加到
片段管理器中,并监视backbackbackbackentrycount
getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener() {
public void onBackStackChanged() {
Log.i(TAG, "back stack changed ");
int backCount = getSupportFragmentManager().getBackStackEntryCount();
}
}
});
一旦你得到这个触发器,你就可以像本文所描述的那样,将一条消息从活动
传递到片段a
,或者在你的片段中可能有一个观察者
,在你的主活动
中观察一个可观察到的
onViewStateRestored()当片段再次显示时调用。是。您可以使用Stack arraylist实现它。您需要在Stack
arraylist中添加两个片段,从中可以推送并弹出所需片段。请参阅此链接