[英]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.