Идентификатор элемента меню динамического меню навигационного ящика - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь установить динамические пункты меню в ящике навигации.Я преуспел.Но как вызвать намеренное прохождение с некоторыми данными, когда кто-то нажимает на этот пункт меню?

Вот мой код для установки динамического пункта меню

private void addMenuItemInNavMenuDrawer() {

    NavigationView navView = (NavigationView) findViewById(R.id.nav_view);
    Menu menu = navView.getMenu();
    for (int i = 0; i < catTitleList.size(); i++) {
        menu.add(Menu.NONE, Integer.parseInt(catIdList.get(i)), Menu.NONE, catTitleList.get(i));
    }

    navView.invalidate();
}

Как я могу вызвать Intent из onNavigationItemSelected (Элемент MenuItem)?

здесь выбрано onNavigationItem

public boolean onNavigationItemSelected(MenuItem item) {
    // Handle navigation view item clicks here.
    NavigationView nv = findViewById(R.id.nav_view);
    Menu m = nv.getMenu();
    int id = item.getItemId();

    int catId = Integer.parseInt(catIdList.get(0));
    if (id == R.id.nav_ebook) {

        if (!m.findItem(catId).isVisible()) {
            m.findItem(catId).setVisible(true);

        } else if (m.findItem(catId).isVisible()) {

            m.findItem(catId).setVisible(false);

        }
     } else (id == CatId) {
        String tag = viewAll1.getTag().toString();
        Intent i = new Intent(this, AllSubCategory.class);
        i.putExtra("ID", tag);
        startActivity(i);
     }
    return true;
}
...