尝试动态设置菜单

时间:2018-08-06 09:11:10

标签: java android android-menu

我的Main.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);
}

foldersList<String>Log.i会在应用程序启动时正确显示folders变量的大小,但此函数将不再被调用:

  1. 为什么我的菜单项没有添加?
  2. 我以为每次打开导航抽屉都会调用此功能吗?

1 个答案:

答案 0 :(得分:0)

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++));
}