【发布时间】:2014-04-04 18:15:48
【问题描述】:
我有一个活动,我正在调用三个片段 - 每个片段相互依赖:
A(ctivity) -> f1(片段一,标题{is|should}:列表)-> f2(片段二,标题{is|should}:概述)-> f3(片段三,标题{is|)应该}:详细)
ATM我使用下面的方法调用向后跳转:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
FragmentManager fragmentManager = getSupportFragmentManager();
if (fragmentManager.getBackStackEntryCount()>0){
fragmentManager.popBackStack();
}
}
}
这很好用。
我正在像这样覆盖每个片段中的 ActionBar 标题:
ActionBar bar = getSherlockActivity().getSupportActionBar();
bar.setTitle(R.string.title_f3);
向前导航时(如上所示),这可以完美运行,但向后导航时,ActionBar 的标题不会更新:
f3 (title {is|should}: 细节) -> f2 (title {is}: 细节, {should}: 概览) -> f1 (title {is}: 细节, {should}: 列表)
显然我可以在显示片段时再次更新它。但是我的调试器永远不会停止在我想要的任何方法中,除了像 onResume() 这样调用的方法。
那么在 popBackStack() 之后的前一个片段中实际上是否有任何方法被调用?
【问题讨论】:
-
如果您返回,也许您想为关闭选择一个答案! :)
-
您好@OpenHaus,如果您对您的查询感到满意,您能否选择这个问题的答案,谢谢! :)
标签: java android android-fragments