0

В чем может быть проблема?

FATAL EXCEPTION: main
                                                      Process: com.happ, PID: 24333
                                                      java.lang.RuntimeException: Unable to start activity ComponentInfo{com.happ/com.happ.controllers.FeedActivity}: java.lang.NullPointerException
                                                          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
                                                          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
                                                          at android.app.ActivityThread.access$800(ActivityThread.java:135)
                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
                                                          at android.os.Handler.dispatchMessage(Handler.java:102)
                                                          at android.os.Looper.loop(Looper.java:136)
                                                          at android.app.ActivityThread.main(ActivityThread.java:5001)
                                                          at java.lang.reflect.Method.invokeNative(Native Method)
                                                          at java.lang.reflect.Method.invoke(Method.java:515)
                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
                                                          at dalvik.system.NativeStart.main(Native Method)
                                                       Caused by: java.lang.NullPointerException
                                                          at com.happ.controllers.FeedActivity.onCreate(FeedActivity.java:182)
                                                          at android.app.Activity.performCreate(Activity.java:5231)
                                                          at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                                                          at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
                                                          at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 
                                                          at android.app.ActivityThread.access$800(ActivityThread.java:135) 
                                                          at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
                                                          at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                          at android.os.Looper.loop(Looper.java:136) 
                                                          at android.app.ActivityThread.main(ActivityThread.java:5001) 
                                                          at java.lang.reflect.Method.invokeNative(Native Method) 
                                                          at java.lang.reflect.Method.invoke(Method.java:515) 
                                                          at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 
                                                          at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 
                                                          at dalvik.system.NativeStart.main(Native Method) 

Вот ругается на эту строчку:

navigationView.getMenu().findItem(R.id.nav_item_feed).setChecked(true);

Вот разметка:

<android.support.design.widget.NavigationView
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/navigation_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:overScrollMode="ifContentScrolls">

<android.support.design.widget.NavigationView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="top"
    app:headerLayout="@layout/drawer_header"/>


<android.support.design.widget.NavigationView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    app:menu="@menu/drawer"/>

</android.support.design.widget.NavigationView>

P.S. Мне еще нужно понять, как правильно подставлять menu drawer под drawer_header. Я просто хочу потом между menu drawer и drawer_header вставить ViewPager. Не подскажите, как это можно сделать в NavigationView, чтоб подставлять как в RelatievLayout функциями below и above.

  • 1
    Добавьте полный код activity. – post_zeew Oct 13 '16 at 12:47
  • @metalurgus я знаю что такое nullpointer, я не понимал почему он у меня появился. + ко всему, там есть еще один вопрос про viewpager и не думаю, что это дубликат. + я нашел решение своей проблемы c ViewPager. И как можно между меню и верхушкой вставлять что угодно. – Satanist Devilov Oct 14 '16 at 05:51
  • оформите ваш еще один вопрос в отдельный вопрос, как положено – Vladyslav Matviienko Oct 14 '16 at 10:00

1 Answers1

0

Падает у вас т.к. вы пытаетесь получить меню до его загрузки, происходящей в onCreateOptionsMenu. Вам надо манипулировать не раньше чем в onCreateOptionsMenu или onPrepareOptionsMenu.

Вставлять NavigationView в NavigationView - совершенно непонятно зачем.

Добавить что-то под header - просто добавьте это что-то в сам header