我对动作条比较陌生,我正在使用actionBarSherlock库。我知道actionbar的工作最好是当您有经常发生且容易访问的操作时。
背景:
我的操作栏目前的工作方式是启用一个home按钮和onCreateOptionsMenu,该按钮和使用日历菜单项(不可见)和设置菜单项来充气菜单。
我有一个主要的活动,它调用多个片段,如FragA、FragB、FragC。
问题:
是否有可能以某种方式从片段中操纵菜单项,或者至少在它们即将以这样的方式被调用时,我可以“显示”日历菜单项并处理对它的调用?
到目前为止,我的情况如下:actionbar_view.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="30dp"
android:orientation="horizontal" >
<Button
android:id="@+id/b1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="Stuff" />
</LinearLayout>下面是我如何使用homeButton的方法:
public void onResume()
{
super.onResume();
actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setIcon(R.drawable.icon_tsn);...
}我想要处理的片段只是扩展了SherlockFragment。任何帮助都很感激..。
发布于 2013-07-03 17:23:09
它是否可能以某种方式从我的片段中操纵我的菜单项,或者至少当它们即将以这样的方式被调用时,我可以“显示”日历菜单项并处理对它的调用?
我们欢迎您的片段调用setHasOptionsMenu(true) (例如,从onCreateView()),此时它将与onCreateOptionsMenu()和onOptionsItemSelected()一起调用,就像活动一样。如果片段可见,它的操作栏项将出现,否则它们将被移除。
因此,典型的模式是让活动定义有效的操作栏项,而不管哪些片段是可见的,并让片段定义特定于它们的操作栏项。
https://stackoverflow.com/questions/17454252
复制相似问题