android - Custom Navigation drawer without ListView and ActionBar -
i use navigation drawer in app, should [this]: http://godpowerturbo.com/app/uploads/nav.png [a], make design have used imagebutton
in place of listview
plus i'm not using fragments , open navigation drawer on imagebutton
click exits null pointer exception.
i have searched everywhere on google , stackoverflow couldn't fix error.
this main activity
drawerlayout dw; percentrelativelayout rl; imagebutton nav; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); log.d(tag, "oncreate()"); session session = new session(mctx); log.e(tag, "log_id: " + session.getlogid()); session.putall(); rl = (percentrelativelayout) findviewbyid(r.id.nav_left); dw = (drawerlayout) findviewbyid(r.id.nav_drawer); nav = (imagebutton) findviewbyid(r.id.nav_menu); nav.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { //opening drawer returns null pointer exception log.e(tag, "nav menu click!"); dw.opendrawer(gravity.left); } }); }
navigation drawer layout
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.drawerlayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/nav_drawer" android:background="@drawable/nav" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.percent.percentrelativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/nav_left" android:paddingleft="8dp" android:paddingtop="65dp" android:layout_gravity="left" android:layout_width="match_parent" android:layout_height="match_parent"> <imagebutton android:background="@android:color/transparent" android:layout_alignparentleft="true" android:id="@+id/nav_home" android:layout_width="95dp" android:layout_height="35dp" /> <android.support.percent.percentrelativelayout xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_below="@+id/nav_home" android:id="@+id/lay_min" android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingtop="5dp" android:paddingleft="10dp"> <imagebutton android:background="@android:color/transparent" android:layout_alignparentleft="true" android:id="@+id/nav_catalogue" android:layout_width="205dp" android:layout_height="30dp" /> <imagebutton android:layout_below="@+id/nav_catalogue" android:background="@android:color/transparent" android:layout_alignparentleft="true" android:id="@+id/nav_upcomingevents" android:layout_width="205dp" android:layout_height="30dp" /> <imagebutton android:layout_below="@+id/nav_upcomingevents" android:background="@android:color/transparent" android:layout_alignparentleft="true" android:id="@+id/nav_newlaunch" android:layout_width="205dp" android:layout_height="30dp" /> <imagebutton android:layout_below="@+id/nav_newlaunch" android:background="@android:color/transparent" android:layout_alignparentleft="true" android:id="@+id/nav_turbofailure" android:layout_width="205dp" android:layout_height="30dp" /> <imagebutton android:layout_below="@+id/nav_turbofailure" android:background="@android:color/transparent" android:layout_alignparentleft="true" android:id="@+id/nav_aboutus" android:layout_width="205dp" android:layout_height="30dp" /> <imagebutton android:layout_below="@+id/nav_aboutus" android:background="@android:color/transparent" android:layout_alignparentleft="true" android:id="@+id/nav_enquiry" android:layout_width="205dp" android:layout_height="30dp" /> <imagebutton android:layout_below="@+id/nav_enquiry" android:background="@android:color/transparent" android:layout_alignparentleft="true" android:id="@+id/nav_faq" android:layout_width="205dp" android:layout_height="30dp" /> <imagebutton android:layout_below="@+id/nav_faq" android:background="@android:color/transparent" android:layout_alignparentleft="true" android:id="@+id/nav_feedback" android:layout_width="205dp" android:layout_height="30dp" /> </android.support.percent.percentrelativelayout> <view android:id="@+id/lazy_view" android:layout_below="@id/lay_min" android:background="@android:color/transparent" android:layout_width="100dp" android:layout_height="130dp" /> <imagebutton android:layout_below="@+id/lazy_view" android:background="@android:color/transparent" android:layout_alignparentleft="true" android:id="@+id/nav_back" android:layout_width="75dp" android:layout_height="40dp" /> <imagebutton android:layout_below="@+id/nav_back" android:background="@android:color/transparent" android:layout_alignparentleft="true" android:id="@+id/nav_exit" android:layout_width="75dp" android:layout_height="40dp" /> </android.support.percent.percentrelativelayout> </android.support.v4.widget.drawerlayout>
stack trace
01-07 20:30:16.708 22258-22258/com.godpowerturbo.android e/main﹕ nav menu click! 01-07 20:30:16.708 22258-22258/com.godpowerturbo.android w/dalvikvm﹕ threadid=1: thread exiting uncaught exception (group=0x412c0438) 01-07 20:30:16.738 22258-22258/com.godpowerturbo.android e/androidruntime﹕ fatal exception: main java.lang.nullpointerexception @ com.godpowerturbo.android.main$1.onclick(main.java:49) @ android.view.view.performclick(view.java:4084) @ android.view.view$performclick.run(view.java:16987) @ android.os.handler.handlecallback(handler.java:615) @ android.os.handler.dispatchmessage(handler.java:92) @ android.os.looper.loop(looper.java:137) @ android.app.activitythread.main(activitythread.java:4807) @ java.lang.reflect.method.invokenative(native method) @ java.lang.reflect.method.invoke(method.java:511) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:792) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:559) @ dalvik.system.nativestart.main(native method)
now problem when click imagebutton
crashes app raises null pointer exception
when reaches dw.opendrawer(gravity.left);
log before works.
and how access image button in navigation drawer launch different existing activities.
thanks in advance
Comments
Post a Comment