我的主.java中有以下函数:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// menu.clear();
Log.i("onPREPARAPRE Folder Size",String.valueOf(folders.size()));
int x = 0;
while(x < folders.size()) {
menu.add(Menu.NONE,Menu.NONE,Menu.NONE,folders.get(x++));
}
return super.onPrepareOptionsMenu(menu);
}
folders
是一个List<String>
.Log.i
在应用启动时正确显示folders
变量的大小,但随后再也不会调用该函数:
- 为什么我的菜单项没有添加?
- 我以为每次打开导航抽屉时都会调用此函数?
onPrepareOptionsMenu()
与导航抽屉无关。
这是为选项菜单触发的事件(点击 3 个点时展开的事件)。
如果要将菜单项添加到导航抽屉,请执行以下操作:
NavigationView myNavView = (NavigationView) findViewById(R.id.my_nav_view);
Menu menu = myNavView.getMenu();
int x = 0;
while(x < folders.size()) {
menu.add(folders.get(x++));
}