android - NavigationDrawer Menu Item selected by position -


i have got navigationdrawer divided 2 sections. first contains menu items id's such "back", "exit" , on. created using xml file. second 1 being created dynamically, can't figure out kind of id or something. , because menu-kind object, can't figure out way write proper listener items second section. example: if click item 1 section 2, activity 1 starts, etc. ideas? fragment of code:

creating second section of navigationdrawer' menu

protected void onactivityresult(int requestcode, int resultcode, intent data) {         toast.maketext(this, "onactivityresult", toast.length_long).show();         super.onactivityresult(requestcode, resultcode, data);          if (requestcode == 1) {             if(resultcode == result_ok){                  arrayfav.clear();                 arraylin.clear();                 arraylist<string> passedtext = data.getstringarraylistextra("text");                 arraylist<string> passedlink = data.getstringarraylistextra("link");                  arrayfav.addall(passedtext);                 arraylin.addall(passedlink);                  navigationview navigationview = (navigationview) findviewbyid(r.id.nav_view);                 menu mainmenu = navigationview.getmenu();                  final menu menuwithfavjobs = mainmenu.addsubmenu(fav jobs: "+medittextpraca.gettext().tostring());                  (int = 0; < arrayfav.size(); i++) {                     menuwithfavjobs.add(arrayfav.get(i));                 }             }         }     } 

and part used first' sections id's make actions:

public boolean onnavigationitemselected(menuitem item) {         // handle navigation view item clicks here.         int id = item.getitemid();          if (id == r.id.nav_back) {}         else if (id == r.id.nav_export) {             onexportpressed();         }         else if (id == r.id.nav_exit) {             onexitpressed();         }         drawerlayout drawer = (drawerlayout) findviewbyid(r.id.drawer_layout);         drawer.closedrawer(gravitycompat.start);         return true;     } 

i tried:

menuwithfavjobs.getitem(i).setonmenuitemclicklistener()... 

but works menu 1 item :( please hints! :) i've got solve it.

in loop, adds items submenu. need save return value of menuwithfavjobs.add(). returns menuitem object. can call:

menuitem.setonmenuitemclicklistener() 

just created , tried it:

menu mainmenu = navigationview.getmenu(); mainmenu.add("test outer"); menu submenu = mainmenu.addsubmenu("submenu");  (int = 0; < 5; i++) {     menuitem item = submenu.add("submenu item " + i);      final int count = i;     item.setonmenuitemclicklistener(new menuitem.onmenuitemclicklistener() {         @override         public boolean onmenuitemclick(menuitem item) {             toast.maketext(mainactivity.this, "this test" + count, toast.length_short).show();             return false;         }     }); } 

tested, works good. problem must arise somewhere else in code?


Comments

Popular posts from this blog

get url and add instance to a model with prefilled foreign key :django admin -

android - Keyboard hides my half of edit-text and button below it even in scroll view -

css - Make div keyboard-scrollable in jQuery Mobile? -