只允许一次勾选一个复选框

时间:2015-03-24 19:33:09

标签: java android

我在布局中使用偏好屏幕。但是当我可以一次勾选所有方框时..我怎么能拥有它,所以一次只勾选一个方框..

  ?xml version="1.0" encoding="utf-8"?>
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
  <CheckBoxPreference
    android:key="colour_white"
    android:title="White"

    android:defaultValue="true" />

     <CheckBoxPreference
    android:key="colour_red"
    android:title="Red"


     />

2 个答案:

答案 0 :(得分:2)

您应该使用单选按钮和无线电组。复选框意味着是多选的。

答案 1 :(得分:0)

您可以在java中控制它。处理CheckBoxPreference点击事件并取消选中除已触发点击事件的所有复选框。

CheckBoxPreference cbp_white = (CheckBoxPreference) findPreference("colour_white");
CheckBoxPreference cbp_red = (CheckBoxPreference) findPreference("colour_red");

cbp_white.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {            
            public boolean onPreferenceChange(Preference preference, Object newValue) {
               //write your logic here
                //Example: cbp_red.setChecked(false);
                return true;
            }
        }); 

同样处理其他复选框的更改事件。