在 res/menu 文件夹中为 menu_a.xml 和 menu_b.xml 创建菜单 xml 文件。
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_item_search"
android:icon="@drawable/ic_action_search"
android:title="@string/description_search"
android:orderInCategory="1"
android:showAsAction="ifRoom" />
<item android:id="@+id/menu_item_share"
android:icon="@drawable/ic_action_share"
android:title="@string/description_share"
android:orderInCategory="1"
android:showAsAction="ifRoom" />
</menu>
要为当前显示的 Fragment 创建选项菜单,请添加 setHasOptionsMenu(true);到 Fragment onCreate() 方法。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
然后,您必须通过重写 onCreateOptionsMenu() 方法来扩充相应的选项菜单(menu_a.xml 或 menu_b.xml)。
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_a, menu);
super.onCreateOptionsMenu(menu, inflater);
}
为了处理菜单选择,重写 onOptionsItemSelected()
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_search:
//do something
return true;
case R.id.menu_item_share:
//do something
return true;
}
return super.onOptionsItemSelected(item);
}
请参阅创建选项菜单:http://developer.android.com/guide/topics/ui/menus.html http://developer.android.com/guide/topics/ui/menus.html更多细节。