저는이 문제에 익숙하지 않으므로 올바르게 설명하는 방법을 모르지만 하위 메뉴를 열 때 메뉴를 만들고 싶습니다. 그 메뉴는 네비게이션 서랍에 있어야합니다. 그래서, 스팀 모바일 앱이 어떻게 보이는지 알고 있다면, 내가 가지고있는 것처럼 그것을 만들고 싶습니다. 하위 메뉴에 가시성을 설정하려했지만 메뉴를 클릭 할 때마다 앱이 다운되었습니다. 네가 나에게 줄 수있는 도움을 주셔서 감사합니다. 여기에 (내가 생각하는 이상 방법) 가장 중요한 코드 :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 (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) at 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) at 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