我想动态添加菜单项。我有这样的菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/allItems"
android:showAsAction="always"
android:title="@string/trackAll"/>
<item
android:id="@+id/specficItems"
android:showAsAction="always"
android:title="@string/trackSpecific"/>
<item
android:id="@+id/favItems"
android:showAsAction="always"
android:title="@string/trackFav"/>
</menu>
我尝试将项目添加到中favItems
。但是当我这样尝试时:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.admin_menu, menu);
MenuItem item=menu.findItem(R.id.favItems);
menu.add(0, MY_MENU_1, 0, "Item 1").setShortcut('3', 'c');
menu.add(0, MY_MENU_2, 0, "Item 2").setShortcut('4', 's');
menu.add(0, MY_MENU_3, 0, "Item 3").setShortcut('5', 'z');
return true;
}
输出如下:
但我想将此项目添加到 favItems
请让我知道在中动态添加项目的任何想法favItems
。
如果我这样尝试:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
menu.add(0, MY_MENU_1, 0, "Item 1").setShortcut('3', 'c');
menu.add(0, MY_MENU_2, 0, "Item 2").setShortcut('4', 's');
menu.add(0, MY_MENU_3, 0, "Item 3").setShortcut('5', 'z');
return super.onPrepareOptionsMenu(menu);
}
这样的操作来了:
现在,您只是向中添加项目menu
。
尝试这样做:
MenuItem item = menu.findItem(R.id.favItems);
SubMenu sub = item.getSubMenu();
sub.add(0, MY_MENU_1, 0, "Item 1").setShortcut('3', 'c');
sub.add(0, MY_MENU_2, 0, "Item 2").setShortcut('4', 's');
sub.add(0, MY_MENU_3, 0, "Item 3").setShortcut('5', 'z');
编辑:
另外,您favItems
应该是这样的:
<item
android:id="@+id/favItems"
android:showAsAction="always"
android:title="@string/trackFav">
<menu>
</menu>
</item>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句