(android.support.v4.widget.DrawerLayout $ DrawerListener)'在null对象引用上

时间:2016-01-28 03:31:55

标签: java android

你能帮我解决一下我的logcat上的这个错误吗? http://pastebin.com/uSXruD54

其中:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v4.widget.DrawerLayout.setDrawerListener(android.support.v4.widget.DrawerLayout$DrawerListener)' on a null object reference

在我的家庭课程第79行:

drawer.setDrawerListener(toggle);

http://pastebin.com/cixZ7d9d(MainActivity类,第48行)

我不知道setDrawerListener如何工作抱歉,我在stackoverflow上发现了同样的问题:How to rectify NullPointerException in v4.DrawerLayout?

答案是说必须确保我在导航抽屉和布局文件中使用相同的ID,但我没有对导航抽屉进行任何更改,因为它是活动我在Android Studio中选择的,我只是在其上实现了标签。

1 个答案:

答案 0 :(得分:2)

drawer为空,大概是因为ID为DrawerLayout的{​​{1}}不在drawer_layout布局中。您应该只在app_bar_home中拨打setContentView()一次。第二个调用是使用onCreate()布局完全替换activity_home布局。您的app_bar_home不再在DrawerLayout中,Activity将返回null。

取而代之的是findViewById() <include> app_bar_home布局,并删除第二个activity_home电话。