Android:独立菜单栏 - onPrepareOptionsMenu?
Android: Standalone Menubar - onPrepareOptionsMenu?
我有一个 activity,它在顶部包含一个操作栏,在底部包含一个独立的工具栏。我想根据某个变量的值 enable/disable 此工具栏中的一个项目。请注意,这是在片段内。
如果我有一个普通的操作栏菜单,我可以在 onPrepareOptionsMenu(Menu menu)
方法中执行此操作。但是这个方法不是针对工具栏调用的,如果调用的话,我也无法区分是哪个工具栏。
如何准备工具栏及其菜单项?
这是我的工具栏xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/item_medizinische_daten"
android:title="@string/medizinische_daten"
app:showAsAction="always"></item>
</menu>
这是我的代码:
toolbarBottom = (Toolbar) getActivity().findViewById(R.id.toolbar_bottom);
toolbarBottom.inflateMenu(R.menu.menu_toolbar_medizinische_daten);
toolbarBottom.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.item_medizinische_daten:
Toast.makeText(getActivity(), "Medizinische Daten clicked", Toast.LENGTH_LONG).show();
break;
default:
}
return true;
}
});
Toolbar
小部件有一个 getMenu()
方法,您可以使用它来检索在其上膨胀的 Menu
。然后您可以使用该 Menu
引用并通过 findItem()
或 getItem()
找到它的子项并更改它们。
我有一个 activity,它在顶部包含一个操作栏,在底部包含一个独立的工具栏。我想根据某个变量的值 enable/disable 此工具栏中的一个项目。请注意,这是在片段内。
如果我有一个普通的操作栏菜单,我可以在 onPrepareOptionsMenu(Menu menu)
方法中执行此操作。但是这个方法不是针对工具栏调用的,如果调用的话,我也无法区分是哪个工具栏。
如何准备工具栏及其菜单项?
这是我的工具栏xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/item_medizinische_daten"
android:title="@string/medizinische_daten"
app:showAsAction="always"></item>
</menu>
这是我的代码:
toolbarBottom = (Toolbar) getActivity().findViewById(R.id.toolbar_bottom);
toolbarBottom.inflateMenu(R.menu.menu_toolbar_medizinische_daten);
toolbarBottom.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.item_medizinische_daten:
Toast.makeText(getActivity(), "Medizinische Daten clicked", Toast.LENGTH_LONG).show();
break;
default:
}
return true;
}
});
Toolbar
小部件有一个 getMenu()
方法,您可以使用它来检索在其上膨胀的 Menu
。然后您可以使用该 Menu
引用并通过 findItem()
或 getItem()
找到它的子项并更改它们。