以上问题代码如下@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_desk); System.out.println("DeskActivity2执行"); Toolbar toolbar = findViewById(R.id.bottomNavigationView); toolbar.inflateMenu(R.menu.bottom_nav_menu); toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem menuItem) { switch (menuItem.getItemId()){ case R.id.home_view: } return false; } });
时间: 2024-02-10 16:23:41 浏览: 147
根据你提供的代码,发现了一个问题。你将`findViewById`方法的参数设置为`R.id.bottomNavigationView`,但是根据代码的语义,这里应该是绑定导航栏(NavigationView)而不是Toolbar。所以需要将代码修改为如下形式:
```java
NavigationView navigationView = findViewById(R.id.bottomNavigationView);
navigationView.inflateMenu(R.menu.bottom_nav_menu);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.home_view:
// 点击了home_view项
return true;
// 添加更多项...
}
return false;
}
});
```
这样就可以为导航栏的项绑定点击事件了。注意,这里使用的是`setNavigationItemSelectedListener`方法而不是`setOnMenuItemClickListener`方法,因为NavigationView是专门用于导航栏的视图。
希望这次能帮到你!如果还有其他问题,请随时提问。
阅读全文