Android 添加导航抽屉时工具栏上的图标没有响应
我在我的活动中添加了一个导航抽屉,看起来效果不错。问题是,我的工具栏上还有一个名为“信息”的图标,现在没有响应。此信息项存在于my menu.xml文件中:Android 添加导航抽屉时工具栏上的图标没有响应,android,Android,我在我的活动中添加了一个导航抽屉,看起来效果不错。问题是,我的工具栏上还有一个名为“信息”的图标,现在没有响应。此信息项存在于my menu.xml文件中: <item android:id="@+id/info" android:title="Info" android:icon="@drawable/ic_info_outline_black_24dp" android:orderInCategory="100" app:showAsAc
<item
android:id="@+id/info"
android:title="Info"
android:icon="@drawable/ic_info_outline_black_24dp"
android:orderInCategory="100"
app:showAsAction="always" />
并将其添加到我的OnOptions ItemsSelectedMethod中,该方法还包含我的导航抽屉:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.home:{
if (drawerLayout.isDrawerOpen(drawerList)){
drawerLayout.closeDrawer(drawerList);
}else{
drawerLayout.openDrawer(drawerList);
}
return true;
}case R.id.info:{
Toast.makeText(getApplicationContext(),"HEY",Toast.LENGTH_LONG).show();
}
default:return super.onOptionsItemSelected(item);
}
}
图标弹出在我的工具栏上,但当我点击它时,它没有响应。请帮忙。谢谢。您的xml中的信息按钮id是
android:id=“@+id/infoActionBar”
,您尝试调用case R.id.info:
,因此请更改其中一个按钮,然后重试:)
infoActionBar
vsinfo
在OnOptions ItemSelected
中,如果是item.getItemId()
ID需要保持一致 在xml中,您有:
android:id="@+id/infoActionBar"
在java代码中,您正在寻找:
case R.id.info:
更改其中一个,以与另一个匹配
编辑:
将
case R.id.home:
替换为case-android.R.id.home:
刚刚更改了它。仍然nothing@MarkF我在一个项目中使用了您的所有三个代码片段,并且吐司显示正确。可能需要更多信息来解决您的问题。另外,您可能希望将case R.id.home:
替换为case android.R.id.home:
是的,就是这样。这个箱子没有被使用。谢谢。@MarkF我相应地更新了答案,如果它为您解决了问题,您可以选择它作为正确答案:)
android:id="@+id/infoActionBar"
case R.id.info: