2016-10-17 7 views
0

私はこれをかなり新しくしているので、正しく説明する方法はわかりませんが、クリックするとサブメニューが開きます。そのメニューは(私が持っている)ナビゲーションドロワーに入っていなければなりません。Steamモバイルアプリの見た目を知っていれば、そこにあるようにしたいと思っています。私はサブメニューの可視性を設定しようとしましたが、メニューをクリックするたびにクラッシュします。あなたが私に与えることができる何か助けをありがとう。 は、ここで(私が思う、少なくともどのように)最も重要なコードです:OnClickメニューでサブメニューを表示/非表示する

@Override 
public boolean onPrepareOptionsMenu(Menu menu) { 
    MenuItem settingsItem = menu.findItem(R.id.action_settings); 
    settingsItem.setVisible(false); 
    register = menu.findItem(R.id.nav_submenu); 
    return false; 
} 
@Override 
public boolean onNavigationItemSelected(MenuItem item) { 
    int id = item.getItemId(); 

    if (id == R.id.nav_menu) { 
     register.setVisible(!(register.isVisible())); 
    } 

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    drawer.closeDrawer(GravityCompat.START); 
    return true; 
} 

そして、ここでログです:

10-17 22:03:39.467 6307から6307/com.example.user。アプリケーションD/AndroidRuntime:VMのシャットダウン 10-17 22:03:39.467 6307-6307/com.example.user.app E/AndroidRuntime:致命的除外:メイン プロセス:com.example.user.app、PID:6307 java.lang.NullPointerException:nullオブジェクトリファレンスでインタフェースメソッド 'boolean android.view.MenuItem.isVisible()'を呼び出そうとしました at com.example.user.app.MainActivity.onNavigationItemSelected(MainActivity.java:132) android.support.design.widget.NavigationView $ 1.onMenuItemSelected(NavigationView.java:153) android.support.v7.view (MenuItemImpl.java:152) android.support.v7.view.menu.MenuBuilder.performItemAction (MenuBuilder.java:957) android.support.design.internal.NavigationMenuPresenter $ 1.onClick(NavigationMenuPresenter.java:328) at android.view.View.performClick(View.java:5233) android.view。 $ Perforを表示mClick.run(View.java:21209) android.os.Handler.handleCallback(Handler.java:739) (android.os.Handler.dispatchMessage(Handler.java:95)) (android.os.Looper)にあります。ループ(Looper.java:152) android.app.ActivityThread.main(ActivityThread.java:5507) at java.lang.reflect.Method.invoke(ネイティブメソッド) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 10-17 22:03:39.467 6307-6307/com.example.userアプリD/AppTracker:アプリイベント:クラッシュ 10-17 22:03:39.523 6307-6307/com.example.user.app I /プロセス:シグナルを送信する。 PID:6307 SIGは:9

+0

であると考えています。 –

+0

@ th3pat3l私は、あなたは今私を助けることができますか? – user18497

答えて

0

私は、あなたが探していることは、それがクラッシュしたときに行われ、ログしたものたちを表示ExpandableListView

+0

返事ありがとう、私はこの質問の2番目の答えでそれを作るしようとしています:http://stackoverflow.com/questions/31446720/how-to-open-sub-menu-after-click-on-menu-item- in-navigation-drawerを使っていますが、ExpandedMenuModelは何ですか?あなたは多分知っていますか? – user18497

関連する問題