当前位置: 首页 > 知识库问答 >
问题:

添加片段并更新actionbar标题

伯博
2023-03-14

当我从片段B回到片段A时,actionbar标题应该是“fraga”,但它仍然是“fragb”。问题是add方法片段A没有重新创建,我没有找到事件来刷新它。

目前我找到的唯一简单的解决方案是:

1-fragb.onResume:保存上一个操作栏标题

共有1个答案

吴欣悦
2023-03-14

您可以重写活动的onbackpressed,每次按下它时,您都会从backstack中获取片段的名称,以知道您当前位于哪个片段。

示例:

  @Override
   public void onBackPressed() {
    super.onBackPressed();

    int framentCount = this.getFragmentManager().getBackStackEntryCount();
    if(framentCount != 0)
    {
        FragmentManager.BackStackEntry backEntry=getFragmentManager().getBackStackEntryAt(framentCount-1);
        String str=backEntry.getName(); //the tag of the fragment
        if(str.equals("fragA"))
            //set the actionbar title to FragA
        else if(str.equals("fragB"))
            //set the actionbar title to FragB
    }

     FragA myFragA = (FragA)getFragmentManager().findFragmentByTag("MY_FRAGMENTA_A_TAG");
     if (myFragA.isVisible()) {
           //action bar.title="title first fragment"
     }
   }

现在,要知道哪个片段是哪个片段,您需要在将其添加/替换到backstack时为其添加一个标记。还要确保调用AddToBackStack将片段放入BackStack。

FragmentTransaction.add(int containerViewId, Fragment fragment, String tag)
FragmentTransaction.replace(int containerViewId, Fragment fragment, String tag)
 类似资料:
  • 我有一个标志/书签按钮在行动栏,我想切换或关闭,取决于哪个片段是在视图页的视图。 如果用户在ViewPager中标记了一个片段,则该片段将被设置为Enabled。当用户滑到下一个,我希望动作栏按钮更新为未标记。现在,我可以通过有两个菜单项来改变按钮的状态,并隐藏一个,单击时显示一个。 我怎么能这么做?我应该在哪个级别访问操作栏;活动、PagerAdapter还是片段?

  • 问题内容: 如何从片段(android.support.v4.app.Fragment)中访问ActionBar。我正在使用Android支持库v4和v7。我没有使用Sherlock库。 承载片段的活动是ActionBarActivity。 我已经阅读了Android帮助片段Fragment,它也导致了我getActivity(),但是没有getSupportActionBar()方法。 问题答案

  • 如何从片段(android.support.v4.app.Fragment)中访问ActionBar。我正在使用Android支持库v4和V7。我不会用夏洛克图书馆的。 承载该片段的活动是ActionBarActivity。 我阅读了Android帮助部分的片段,它也引导了我getActivity(),但是没有getSupportActionBar()方法。

  • 当我向上选择选项卡时,它起作用,但当我返回时,内容变成白色。LogCat显示: 致命异常:main java.lang.IllegalArgumentException:在Android.support.v4.app.FragmentManagerImpl.MoveToState(FragmentManager.java:903)在Android.support.v4.app.FragmentMa

  • 本文向大家介绍android-fragments 添加片段,包括了android-fragments 添加片段的使用技巧和注意事项,需要的朋友参考一下 示例 静态添加片段 文件:activity_main.xml 文件:fragment1.xml 文件:fragment2.xml 文件:MainActivity.java 文件:Fragment1.java 文件:Fragment2.java 动态