英文:
Can't find Menu ID
问题
- 这是在
menu.xml
文件中声明我的 id 的代码:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="home"
android:icon="@drawable/home"
android:title="HOME"/>
<item
android:id="category"
android:icon="@drawable/category"
android:title="CATEGORY"/>
<item
android:id="basket"
android:icon="@drawable/basket"
android:title="BASKET"/>
<item
android:id="me"
android:icon="@drawable/me"
android:title="ME"/>
</menu>
- 这是调用我的 id 的代码:
private BottomNavigationView.OnNavigationItemSelectedListener navigation =
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.home:
Toast.makeText(HomeActivity.this, "HOME", Toast.LENGTH_SHORT).show();
break;
case R.id.category:
Toast.makeText(HomeActivity.this, "CATEGORY", Toast.LENGTH_SHORT).show();
break;
}
return true;
}
};
在调用 category
id 时我遇到错误:case R.id.category:
,但在调用 case R.id.home:
时代码是正确的,没有错误。
问题:谁知道为什么我不能调用我的 id?
有谁能为我提供建议,我花了很长时间来修复这段代码。也许我错过了像点或逗号之类的东西?哈哈哈
英文:
1)This is Code declare my id at menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="home"
android:icon="@drawable/home"
android:title="HOME"/>
<item
android:id="category"
android:icon="@drawable/category"
android:title="CATEGORY"/>
<item
android:id="basket"
android:icon="@drawable/basket"
android:title="BASKET"/>
<item
android:id="me"
android:icon="@drawable/me"
android:title="ME"/>
</menu>
- This is code i call my id
private BottomNavigationView.OnNavigationItemSelectedListener navigation =
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()) {
case R.id.home:
Toast.makeText(HomeActivity.this, "HOME", Toast.LENGTH_SHORT).show();
break;
case R.id.category:
Toast.makeText(HomeActivity.this, "HOME", Toast.LENGTH_SHORT).show();
break;
}
return true;
}
};
I have error when i call category id
case R.id.category:
but at case R.id.home:
,the code is right means no wrong.
Question : Who know why i cannot call my id?
can anyone give suggest for me, i take long time to fix this code. mybe i miss something like dot or comma? hahahaha
答案1
得分: 3
Sure, here is the translation:
<item android:id="@+id/home"
应该改为
<item android:id="@+id/home"
其他的也适用相同的修改
英文:
<item android:id="home"
should be
<item android:id="@+id/home"
the same applies to the others
答案2
得分: 0
问题出在您的菜单 XML 文件中的所有 id 上
将其更改为以下内容:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/home"
android:icon="@drawable/home"
android:title="HOME"/>
<item
android:id="@+id/category"
android:icon="@drawable/category"
android:title="CATEGORY"/>
<item
android:id="@+id/basket"
android:icon="@drawable/basket"
android:title="BASKET"/>
<item
android:id="@+id/me"
android:icon="@drawable/me"
android:title="ME"/>
</menu>
英文:
The issue is with all the ids in your menu XML file
change it to the following:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
item android:id="@+id/home"
android:icon="@drawable/home"
android:title="HOME"/>
<item
item android:id="@+id/category"
android:icon="@drawable/category"
android:title="CATEGORY"/>
<item
item android:id="@+id/basket"
android:icon="@drawable/basket"
android:title="BASKET"/>
<item
item android:id="@+id/me"
android:icon="@drawable/me"
android:title="ME"/>
</menu>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论