我在我的API级别10的应用程序中使用了ActionBarSherlock库。我想知道是否可以在单击它时没有响应的Action图标。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/mainTopBluetoothState"
android:icon="@drawable/bt_not_connected"
android:orderInCategory="0"
android:clickable="false"
android:showAsAction="ifRoom" />
<item android:id="@+id/mainTopAppState"
android:title="App State"
android:orderInCategory="1"
android:showAsAction="ifRoom" />
</menu>
android:clickable="false"
不会产生错误,但在应用程序运行时按下Action仍然会做出反应。
答案 0 :(得分:12)
尝试android:enabled
or setEnabled()
at runtime on the MenuItem
。
答案 1 :(得分:3)
mymenu.getItem(0//item number).setEnabled(false);
当你想要setClickable
时,只需写下来......
mymenu.getItem(0).setEnabled(true);
答案 2 :(得分:1)
您可以在onPrepareOptionsMenu(Menu menu)
@Override
public boolean onPrepareOptionsMenu (Menu menu){
super.onPrepareOptionsMenu(menu);
MenuItem myItem = menu.findItem(R.id.myId);
myItem.setEnabled(false);
return true;
}
documentation建议您这样做。
准备要显示的屏幕标准选项菜单。这是 每次显示菜单时,都会在菜单显示之前调用。 你可以 使用此方法有效启用/禁用项目或其他方式 动态修改内容。