点击全选,反馈的信息是没有,而取消全选反而反馈全了,为什么会这样?该如何解决?
public class CheckBoxActivity extends AppCompatActivity { private CheckBox eatCheckBox,sheepCheckBox,gameCheckBox,allCheckBox; private Button button; private TextView textView1,textView2; private CompoundButton.OnCheckedChangeListener listener = new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { String resultString = ""; if (eatCheckBox.isChecked()) { resultString+=eatCheckBox.getText().toString()+" "; } if (sheepCheckBox.isChecked()) { resultString+=sheepCheckBox.getText().toString()+" "; } if (gameCheckBox.isChecked()) { resultString+=gameCheckBox.getText().toString()+" "; } if (buttonView.getId()==R.id.allCb) { if(allCheckBox.isChecked()){ eatCheckBox.setChecked(true); sheepCheckBox.setChecked(true); gameCheckBox.setChecked(true); } else if(eatCheckBox.isChecked()&&sheepCheckBox.isChecked()&&gameCheckBox.isChecked()){ eatCheckBox.setChecked(false); sheepCheckBox.setChecked(false); gameCheckBox.setChecked(false); } } else{ if(eatCheckBox.isChecked()&&sheepCheckBox.isChecked()&&gameCheckBox.isChecked()){ allCheckBox.setChecked(true); } else{ allCheckBox.setChecked(false); } } textView1.setText("你的爱好是:"+resultString); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_check_box); eatCheckBox=findViewById(R.id.eatCb); sheepCheckBox=findViewById(R.id.sheepCb); gameCheckBox=findViewById(R.id.gameCb); allCheckBox=findViewById(R.id.allCb); button=findViewById(R.id.btn); textView1=findViewById(R.id.tv1); textView2=findViewById(R.id.tv2); eatCheckBox.setOnCheckedChangeListener(listener); sheepCheckBox.setOnCheckedChangeListener(listener); gameCheckBox.setOnCheckedChangeListener(listener); allCheckBox.setOnCheckedChangeListener(listener); } }