Android 工具栏动态更改菜单操作项
Android Toolbar Change Menu action items dynamically
我有一个工具栏 (android.support.v7.widget.Toolbar) 和一个操作菜单项。我想以编程方式填充菜单项的子菜单。
在我通过 setSupportActionBar(toolbar)
将工具栏设置为 ActionBar 之前,我无法找到一种方法来做到这一点。在这种情况下,我可以修改 onPrepareOptionsMenu()
中的菜单项。有没有办法在没有 setSupportActionBar(toolbar)
的情况下以编程方式更改菜单项?
唯一的行动项目膨胀 toolbar.inflateMenu(R.menu.menu_main)
menu_main.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="1"
app:showAsAction="always">
</item>
</menu>
您可以通过Toolbar的getMenu()方法获取Toolbar的菜单。此方法 returns 一个 Menu 对象,您可以向其添加或修改菜单项或子菜单。
Here you can check out the documentation of the getMenu() method.
我有一个工具栏 (android.support.v7.widget.Toolbar) 和一个操作菜单项。我想以编程方式填充菜单项的子菜单。
在我通过 setSupportActionBar(toolbar)
将工具栏设置为 ActionBar 之前,我无法找到一种方法来做到这一点。在这种情况下,我可以修改 onPrepareOptionsMenu()
中的菜单项。有没有办法在没有 setSupportActionBar(toolbar)
的情况下以编程方式更改菜单项?
唯一的行动项目膨胀 toolbar.inflateMenu(R.menu.menu_main)
menu_main.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="1"
app:showAsAction="always">
</item>
</menu>
您可以通过Toolbar的getMenu()方法获取Toolbar的菜单。此方法 returns 一个 Menu 对象,您可以向其添加或修改菜单项或子菜单。
Here you can check out the documentation of the getMenu() method.