【发布时间】:2019-08-29 03:34:40
【问题描述】:
我从 Android Studio 3.5 模板创建了一个新的抽屉式导航活动,但即使我正在监听 NavigationItemSelected,菜单项也无法点击。
public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
private AppBarConfiguration mAppBarConfiguration;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
DrawerLayout drawer = findViewById(R.id.drawer_layout);
NavigationView navigationView = findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
mAppBarConfiguration = new AppBarConfiguration.Builder(
R.id.nav_home, R.id.nav_gallery, R.id.nav_slideshow,
R.id.nav_tools, R.id.nav_share, R.id.nav_send)
.setDrawerLayout(drawer)
.build();
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
NavigationUI.setupWithNavController(navigationView, navController);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onSupportNavigateUp() {
NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
return NavigationUI.navigateUp(navController, mAppBarConfiguration)
|| super.onSupportNavigateUp();
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
Toast.makeText(this, menuItem.getTitle(), Toast.LENGTH_SHORT).show();
return true;
}
}
当我从抽屉中单击一个项目时,抽屉只是关闭而不是显示 onNavigationItemSelected 方法中定义的 Toast。
【问题讨论】:
-
请edit您的问题提供具有
<DrawerLayout>的布局XML。 -
这在 Android Studio 4.0.1 稳定版中仍然是一个问题......(你在听吗,谷歌?)......问题的公认答案解决了这个问题。
-
如果有人使用 4.1(目前不稳定的版本)或 4.2 测试版可以发表评论,如果它已在这些版本中得到修复,那会很好吗?
-
所以 - 在刚刚发布的 Android Studio 4.1 稳定版中仍然存在问题.....应该由 Google 修复。这里仍然需要接受的解决方案。
-
所以最后似乎在Android Studio 4.1.2中修复了,xml文件中的顺序是正确的。
标签: android