更改MenuItem CheckBox状态

时间:2014-06-11 15:40:47

标签: android menuitem android-checkbox

如何让android:checkable="true" MenuItem更改状态,然后显示if else

@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
    switch (item.getItemId()) {
        case R.id.my_checkbox_item:
            MenuItem check = (MenuItem) findViewById(R.id.checkbox_xml_element);
                if (((MenuItem) check).isChecked()) {
                    ((MenuItem) check).setChecked(false);
                    Toast.makeText(getApplicationContext(), "Menu item not true andytmwiodjflsdf", Toast.LENGTH_LONG).show();
                } 
            return true;
        default:
            return false;
     }

当前代码崩溃。

如果这是重复,请链接。

谢谢

1 个答案:

答案 0 :(得分:1)

试试这个,我的示例中的 chbEditMode 被声明为私有CheckBox chbEditMode; 然后在代码中我将其初始化为 chbEditMode =(CheckBox)v .findViewById(R.id.chbEditMode); 或没有' v。'如果你不是在处理碎片。最后,这是我用来查找CheckBox状态并执行任何代码的代码。

chbEditMode.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked) {
            editMode = true;
            EditMode(editMode);
        }else {
            editMode = false;
            EditMode(editMode);             
        }

    }
}); 

我希望它有所帮助,祝你好运!