私はこれをかなり新しくしているので、正しく説明する方法はわかりませんが、クリックするとサブメニューが開きます。そのメニューは(私が持っている)ナビゲーションドロワーに入っていなければなりません。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
であると考えています。 –
@ th3pat3l私は、あなたは今私を助けることができますか? – user18497