and*_*oga 6 checkbox android menu items
我已经阅读了android开发者页面上的说明,以获取Checkable菜单项:
http://developer.android.com/guide/topics/ui/menus.html
这是我的xmlmenu:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="all">
<item android:id="@+id/regu"
android:title="@string/Regulatory" />
<item android:id="@+id/warn"
android:title="@string/Warning" />
<item android:id="@+id/temp"
android:title="@string/Temporary" />
<item android:id="@+id/bicy"
android:title="@string/Bicycle" />
</group>
</menu>
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.regu:
if (item.isChecked())
{
item.setChecked(false);
currAvailableOptions++;
}
else if(0 != currAvailableOptions)
{
item.setChecked(true);
currAvailableOptions--;
}
return true;
case R.id.warn:
if (item.isChecked())
{
item.setChecked(false);
currAvailableOptions++;
}
else if(0 != currAvailableOptions)
{
item.setChecked(true);
currAvailableOptions--;
}
return true;
case R.id.temp:
if (item.isChecked())
{
item.setChecked(false);
currAvailableOptions++;
}
else if(0 != currAvailableOptions)
{
item.setChecked(true);
currAvailableOptions--;
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.app_menu, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
问题是当我点击一个项目时,菜单项消失了.为了检查其他菜单项,它不必保持可见状态?
任何的想法?
问候
什么是 currAvailableOptions?我看了你链接的文章,里面没有任何内容。看来您需要做的就是检查:
if (item.isChecked())
item.setChecked(false);
else
item.setChecked(true);
Run Code Online (Sandbox Code Playgroud)
或者至少教程是这么说的。也许你应该再读一遍?希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
7333 次 |
| 最近记录: |