2013-03-02 49 views
0

我需要对Fragment中的活动ActionBar进行两项较小的更改。从碎片中更改ActionBar

父级FragmentActivity的onCreateOptionMenuonPrepareOptions处理跨应用程序的菜单。

但是,在包含的主Fragment视图中,为了导航的目的,我想要改变标题ActionBarFragment每次更改。

另外,在一个实例中,我想添加布局中定义的单个菜单项。我宁愿不重复这部分代码,我是否需要override相同的方法并重新设置整个菜单,包括onOptionSelected?要么...?

编辑:

在我的菜单xml布局,我有这样的项目:

<item 
     android:id="@+id/Add" 
     android:title="Add Items"/> 

此产品需要在ActionBar要看到的只是一个特定Fragment。菜单的其余部分与应用程序其余部分应该看到的内容完全相同。在我需要这个新项目的片段中,是否还必须重复onCreateOptionsMenu,onPrepareOptionsMenuonOptionsItemSelected并复制其他菜单项?或者我可以overrideFragment那些只是弹出一个额外的菜单项?

回答

0

该回答什么,我需要为第2部分

在把这个onAct ivityCreated:

setHasOptionsMenu(true); 

,然后加入这个太:

@Override 
    public void onPrepareOptionsMenu(Menu menu) { 
     super.onPrepareOptionsMenu(menu); 

     ActivityCompat.invalidateOptionsMenu(getActivity()); 

     MenuItem Add = menu.findItem(R.id.Add); 
     Add.setVisible(true); 


    } 

父活动设置R.id.Add默认为不可见。

1

1.

getActivity().getActionBar().setTitle(); 

getActivity.getSupportActionBar().setTitle(); 
  1. 更多的说明,请:)
+0

为你增加了一些更多的信息.​​.....我会尝试这第一部分和测试。 – KickingLettuce 2013-03-02 22:32:17

+0

是的,在onActivityCreated()中。关于菜单 - 我不知道答案,你可以尝试检查一下自己;) – agamov 2013-03-02 22:36:37