[英]Why CheckBox Preference's summary is appearing like it is disabled & why checkBox's value is not changing after clicking it?
[英]Why after action associated with one checkbox both checkboxes are are disabled?
大家:我想实现应用程序:
在我的代码中,当我尝试实现它时,第二个复选框也被选中并禁用,尽管我没有点击它。
请帮助:请参阅下面的代码:
P2106 = findViewById(R.id.checkbox_p2106);
MP2106 = findViewById(R.id.checkbox_mp2106);
pref = PreferenceManager.getDefaultSharedPreferences(this);
editor = pref.edit();
CheckboxCare(P2106);
CheckboxCare(MP2106);
}
public void CheckboxCare(@NonNull View v){
switch (v.getId()){
case R.id.checkbox_p2106:
case R.id.checkbox_mp2106:
if(pref.contains("checked") && pref.getBoolean("checked", false) == true){
setChecked((CheckBox) v);
disableCheckbox((CheckBox) v);
}else{
setNotChecked((CheckBox) v);
}
checkboxListener((CheckBox) v);
break;
}
}
public void checkboxListener(@NonNull CheckBox checkBox){
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(checkBox.isChecked()){
editor.putBoolean("checked", true);
editor.apply();
Intent move = new Intent(GeneralRoute.this, ScanTest.class);
startActivity(move);
}else{
editor.putBoolean("checked", false);
editor.apply();
}
}
});
}
public void setChecked(@NonNull CheckBox checkBox){
checkBox.setChecked(true);
}
public void setNotChecked(@NonNull CheckBox checkBox){
checkBox.setChecked(false);
}
public void disableCheckbox(@NonNull CheckBox checkBox){
checkBox.setEnabled(false);
}
根据您的要求,为发送该 function 调用的每个复选框创建 object
public void CheckboxCare(@NonNull View v){
switch (v.getId()){
case R.id.checkbox_p2106:
{
// write code here
}
case R.id.checkbox_mp2106:
if(pref.contains("checked") && pref.getBoolean("checked", false) == true){
setChecked(checkbox_p2106);// enable one
disableCheckbox(checkbox_p2106);// disable second
}else{
setNotChecked((CheckBox) v);
}
checkboxListener((CheckBox) v);
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.