Java 添加对android屏幕设置的支持
我正在android应用程序中使用几个复选框首选项来添加设置菜单。但是有没有一种方法可以说,一次只能选中一个CheckBoxPreference 这是非常基本的逻辑:Java 添加对android屏幕设置的支持,java,android,Java,Android,我正在android应用程序中使用几个复选框首选项来添加设置菜单。但是有没有一种方法可以说,一次只能选中一个CheckBoxPreference 这是非常基本的逻辑: int numOfCheck = 0; //Check each checkbox if(checkbox1.checked){ numOfCheck+=1; } //... Add other checkboxes if(numOfCheck>1||numOfCheck<1){ //... Al
int numOfCheck = 0;
//Check each checkbox
if(checkbox1.checked){
numOfCheck+=1;
}
//... Add other checkboxes
if(numOfCheck>1||numOfCheck<1){
//... Alert the user
}
int numocheck=0;
//选中每个复选框
如果(复选框1.选中){
numocheck+=1;
}
//... 添加其他复选框
如果(numocheck>1 | | numocheck这里有一种方法,但肯定可以改进
public class Settings extends PreferenceActivity{
CheckBoxPreference cb1;
CheckBoxPreference cb2;
CheckBoxPreference cb3;
@Override
public void onCreate(Bundle b) {
super.onCreate(b);
addPreferencesFromResource(R.xml.preferences);
cb1 = (CheckBoxPreference) findPreference("CheckBox1");
cb2 = (CheckBoxPreference) findPreference("CheckBox2");
cb3 = (CheckBoxPreference) findPreference("CheckBox3");
cb1.setOnPreferenceChangeListener(new Listener());
cb2.setOnPreferenceChangeListener(new Listener());
cb3.setOnPreferenceChangeListener(new Listener());
}
private class Listener implements OnPreferenceChangeListener {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
if((Boolean) newValue)
removeOthers(preference.getKey());
return true;
}
}
private void removeOthers(String key) {
if(key.equals("CheckBox1")) {
cb2.setChecked(false);
cb3.setChecked(false);
}
else if(key.equals("CheckBox2")) {
cb1.setChecked(false);
cb3.setChecked(false);
}
else if(key.equals("CheckBox3")) {
cb1.setChecked(false);
cb2.setChecked(false);
}
}
}
很简单