【问题标题】:Showing/hiding submenus with OnClick menu使用 OnClick 菜单显示/隐藏子菜单
【发布时间】:2017-02-26 22:05:35
【问题描述】:

我对此很陌生,所以我不知道如何正确解释它,但我想制作菜单,当我点击它时,会打开子菜单。该菜单需要在导航抽屉中(我有)。所以,如果你知道 Steam 移动应用程序的外观,我想让它像在那里一样。我曾尝试在子菜单上设置可见性,但每当我单击菜单时,应用程序就会崩溃。谢谢你能给我的任何帮助。 这是最重要的代码(至少我是这么认为的):

@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.app D/AndroidRuntime: 关闭 VM 10-17 22:03:39.467 6307-6307/com.example.user.app E/AndroidRuntime: 致命异常: main 进程:com.example.user.app,PID:6307 java.lang.NullPointerException:尝试在空对象引用上调用接口方法“boolean android.view.MenuItem.isVisible()” 在 com.example.user.app.MainActivity.onNavigationItemSelected(MainActivity.java:132) 在 android.support.design.widget.NavigationView$1.onMenuItemSelected(NavigationView.java:153) 在 android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:810) 在 android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152) 在 android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:957) 在 android.support.design.internal.NavigationMenuPresenter$1.onClick(NavigationMenuPresenter.java:328) 在 android.view.View.performClick(View.java:5233) 在 android.view.View$PerformClick.run(View.java:21209) 在 android.os.Handler.handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:152) 在 android.app.ActivityThread.main(ActivityThread.java:5507) 在 java.lang.reflect.Method.invoke(本机方法) 在 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.app D/AppTracker: 应用事件: 崩溃 10-17 22:03:39.523 6307-6307/com.example.user.app I/Process:发送信号。 PID:6307 SIG:9

【问题讨论】:

  • 向我们展示您所做的事情以及崩溃时的日志。
  • @th3pat3l 我做了,你现在能帮我吗?

标签: javascript android menu navigation-drawer


【解决方案1】:

我相信你要找的是ExpandableListView

【讨论】:

猜你喜欢
  • 2016-06-05
  • 2012-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多