Android如何在点击CheckBoxPreference时显示弹出窗口

时间:2015-02-24 14:08:16

标签: android android-preferences checkboxpreference

我有一个PreferenceScreen,其中我有一个包含以下代码的复选框:

<CheckBoxPreference
        android:defaultValue="false"
        android:key="the_key"
        android:summary="Random text here."
        android:title="My Title"
        />

我想在点击此复选框时显示弹出消息,该复选框将有一个设置按钮和一个取消。如果将按下“设置”,则复选框将被检查,如果以前未选中,则相反。我怎样才能做到这一点?这是我的弹出消息的代码。

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

    // Use the Builder class for convenient dialog construction
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setMessage("Some message that will be displayed")
            .setPositiveButton(R.string.set, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    // do something
                }
            })
            .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    // User cancelled the dialog
                }
            });
    // Create the AlertDialog object and return it
    return builder.create();
}

另外,我如何获得复选框的值(已选中或未选中)? 谢谢!

1 个答案:

答案 0 :(得分:0)

要从CheckBoxPreference检查是否获取复选框,请使用此

CheckBoxPreference pref = (CheckBoxPreference) findPreference("checkbox_preference");
pref.isChecked(); //returns if it is checked or not