0

チェックボックスのリストがあるかどうかという質問がありますが、それらはユーザーによって生成されているため、いくつあるかわかりません。少なくとも1つ以上のチェックボックスがオンになっているときに削除ボタンを無効/有効にするにはどうすればよいですか? 私はこれまでのところこのコードを持っています。プログラミングは初めてなので、具体的にお願いします。よろしくお願いします。

    @Override
    public void onCheckedChanged(CompoundButton cb, boolean DeleteButton) {
        if(cb.isChecked()){
            DeleteButton.setEnabled(true);
        }
        else if(DeleteButton.isEnabled()){
            DeleteButton.setEnabled(false);
4

3 に答える 3

1

1つ以上CheckBoxesがチェックされているかどうかだけを知りたい場合は、intメンバー変数を作成し、ボックスがチェックされたときにそれに追加します

 public class MyActivity
{
    int count = 0;

    // oncreate...

   @Override
public void onCheckedChanged(CompoundButton cb, boolean DeleteButton) {
    count = (DeleteButton) ? count+1 : count - 1; // if is checked then add
                                                 // add 1 to count else decrement
    // I'm not sure about what is below but now you have the count
    if(cb.isChecked()){
        DeleteButton.setEnabled(true);
    }
    else if(DeleteButton.isEnabled()){
        DeleteButton.setEnabled(false);
    }
}
};

カウントが0より大きい場合にボタンを無効/有効にする方法(少なくとも1つCheckBoxがチェックされている場合は次のようになります

@Override
public void onCheckedChanged(CompoundButton cb, boolean DeleteButton) {
    count = (DeleteButton) ? count+1 : count - 1; // if is checked then add
                                                 // add 1 to count else decrement
        DeleteButton.setEnabled(count > 0);  // if count > 0 will be enabled
}
};

paramしかし、あなたは の 2 番目で混乱していると思いますonCheckChanged()Buttonが何であるかではなく、 がチェックされているかどうかを示しますButton

于 2013-11-10T16:13:01.203 に答える