1

我想在选中或未选中后立即获取复选框的当前状态。基于该显示 Toast 消息。到目前为止,这是我的代码。

SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    boolean Alarm = getPrefs.getBoolean("cbAlarm", true);
    if(Alarm == true) {
        Toast.makeText(this, "Checked", Toast.LENGTH_LONG).show();
    } else if(Alarm == false) {
        Toast.makeText(this, "UnChecked", Toast.LENGTH_LONG).show();
    }

我怎样才能做到这一点。请帮忙。

编辑 这里是我的 xml 文件

<CheckBoxPreference
    android:title="Enable/Disable Alarm"
    android:defaultValue="true"
    android:key="cbAlarm"
    android:summary="Enable or disable alarm" />
4

1 回答 1

1

只需实现 OnCheckedChangeListener:

CheckBox myCheckBox = (CheckBox)  findViewById(R.id.my_checkbox);

myCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked){
        if (isChecked){
             Toast.makeText(this, "Checked", Toast.LENGTH_LONG).show();
        }else{
             Toast.makeText(this, "UnChecked", Toast.LENGTH_LONG).show();
        }  
    }
});
于 2012-05-05T13:47:06.137 回答