android - Navigation View Item Action Error -
i want use array menu items in navigation view. create menu on left side. when click item want show name of item. makes error. tried using variable. (for example determine variable instead of "i" (int counter)" gave error before.)
thank help.thank you.
/androidruntime: fatal exception: main process: com.technotalkative.navigationviewdemo, pid: 28374 java.lang.arrayindexoutofboundsexception: length=4; index=4 @ com.technotalkative.navigationviewdemo.mainactivity$3.onmenuitemclick(mainactivity.java:290) @ android.support.v7.view.menu.menuitemimpl.invoke(menuitemimpl.java:148) @ android.support.v7.view.menu.menubuilder.performitemaction(menubuilder.java:957) @ android.support.design.internal.navigationmenupresenter$1.onclick(navigationmenupresenter.java:318) @ android.view.view.performclick(view.java:5198) @ android.view.view$performclick.run(view.java:21147) @ android.os.handler.handlecallback(handler.java:739) @ android.os.handler.dispatchmessage(handler.java:95) @ android.os.looper.loop(looper.java:148) @ android.app.activitythread.main(activitythread.java:5417) @ java.lang.reflect.method.invoke(native method) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:726) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:616) private int counter=0; private void additemsruntime(navigationview navigationview) { //adding items run time final menu menu = navigationview.getmenu(); (int = 0; <= 3; i++) { counter=i; menu.add(0,i,0,i + bilgiler[i].tostring()); menu.finditem(i).seticon(r.drawable.coins); menu.finditem(i).setcheckable(true); //bu kod seçili kısmı tek bir seçenekli hale getiriyor. menu.finditem(i).setonmenuitemclicklistener(new menuitem.onmenuitemclicklistener() { @override public boolean onmenuitemclick(menuitem item) { toast.maketext(mainactivity.this,"selam tıkladığınız butonun adı" + bilgiler[counter].tostring(),toast.length_short).show(); counter++; return true; } }); } final submenu submenu = menu.addsubmenu("submenu title"); (int = 0; < sayacim; i++) { submenu.add(0,i,0,bilgiler[i].tostring()); submenu.finditem(i).seticon(r.drawable.resmim2); } (int = 0, count = mnavigationview.getchildcount(); < count; i++) { final view child = mnavigationview.getchildat(i); if (child != null && child instanceof listview) { final listview menuview = (listview) child; final headerviewlistadapter adapter = (headerviewlistadapter) menuview.getadapter(); final baseadapter wrapped = (baseadapter) adapter.getwrappedadapter(); wrapped.notifydatasetchanged(); } } }
array codes here
public static string[] bilgiler; stringarray = parsejson(result); sayaca=(integer)stringarray.length; tvdata2.settext("burası arrayden geliyor :" + stringarray[1].tostring() + sayaca ); sayacim = sayaca; bilgiler = new string[sayacim]; bilgiler = stringarray; setuptoolbar(); initnavigationdrawer();
try this:
private int counter = 0; (int = 0; < x; i++) { //in interface ....bilgiger[counter] //at end counter++; }
Comments
Post a Comment