Android菜单项导航崩溃通常是因为在导航之前未检查菜单项的可见性或在导航期间尝试访问已解除绑定的视图引用导致的。可以通过以下方法来解决此问题:
@Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.menu_item_nav) { if (item.isVisible()) { // 菜单项可见时导航 navigate(); } return true; } return super.onOptionsItemSelected(item); }
@Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.menu_item_nav) { // 取消动画或调用detach() if (mNavController.getCurrentDestination().getId() != R.id.nav_destination) { NavOptions navOptions = new NavOptions.Builder().setPopUpTo(R.id.nav_main, false).build(); mNavController.navigate(R.id.nav_destination, null, navOptions); } return true; } return super.onOptionsItemSelected(item); }
上一篇:Android菜单项导航崩溃
下一篇:Android菜单项的内容描述