没有ListView和ActionBar的自定义导航抽屉

时间:2016-01-07 14:24:02

标签: android listview navigation navigation-drawer

我在我的应用中使用导航抽屉,它应该看起来像[this]:http://godpowerturbo.com/app/uploads/nav.png [a],现在让它看起来像我使用ImageButton取代{ListView的设计{1}}加上我没有使用片段,我在ImageButton点击时打开导航抽屉,但它以空指针异常退出。

我已经在Google和StackOverflow上搜索了所有地方,但我无法解决错误。

这是主要的活动

   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 the drawer returns a Null Pointer Exception
                Log.e(TAG, "Nav Menu Click!");
                dw.openDrawer(Gravity.LEFT);
            }
        });
    }

导航抽屉布局

<?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>

堆栈跟踪

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 with uncaught exception (group=0x412c0438)
01-07 20:30:16.738  22258-22258/com.godpowerturbo.android E/AndroidRuntime﹕ FATAL EXCEPTION: main
    java.lang.NullPointerException
            at com.godpowerturbo.android.Main$1.onClick(Main.java:49)
            at android.view.View.performClick(View.java:4084)
            at android.view.View$PerformClick.run(View.java:16987)
            at android.os.Handler.handleCallback(Handler.java:615)
            at android.os.Handler.dispatchMessage(Handler.java:92)
            at android.os.Looper.loop(Looper.java:137)
            at android.app.ActivityThread.main(ActivityThread.java:4807)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:792)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:559)
            at dalvik.system.NativeStart.main(Native Method)

现在我的问题是,当我点击ImageButton崩溃应用时,它会在Null Pointer Exception日志到达之前提出dw.openDrawer(Gravity.LEFT);

如何访问导航抽屉中的图像按钮以启动不同的现有活动。

先谢谢

0 个答案:

没有答案