12

Android アプリに 2 つのラジオ ボタンと 5 つのチェックボックスがあります。また、保存ボタン。ユーザーが保存ボタンをクリックすると、ユーザーがチェックしたチェックボックスをオフにする必要があります。次のコードを試してみましたが、うまくいきません。

if (chkOthers.isChecked()) 
    chkOthers.setChecked(false);
    chkOthers.setSelected(false);
}
4

4 に答える 4

17

ボタンの chk1.toggle() onClick を使用して、チェックされているものをオフにします。

public class TestCheckBoxActivity extends Activity {
  /** Called when the activity is first created. */
     CheckBox chk1, chk2;

        @Override
        public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        chk1 = (CheckBox)findViewById(R.id.checkBox1);
        chk2 = (CheckBox)findViewById(R.id.checkBox2);

        Button btn = (Button)findViewById(R.id.button1);

        btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {

            if(chk1.isChecked()){
                chk1.toggle();
            }

            if(chk2.isChecked()){
                chk2.toggle();
            }

        }
    });
       }
}
于 2012-10-30T05:53:50.913 に答える
10

これにチェックボックスを使用する場合は、両方のチェックボックスに onItemClickListener を設定し、onItemClick() メソッドで他を選択解除する必要があります。例は次のようになります:-

CheckBox cb1,cb2;
//Considering you can initialize the above variables
cb1.setOnCheckedChangeListener(new OnCheckedChangeListener{
    onCheckedChanged (CompoundButton view, boolean isChecked){
        cb2.setChecked(false);
    }
});
cb2.setOnCheckedChangeListener(new OnCheckedChangeListener{
    onCheckedChanged (CompoundButton view, boolean isChecked){
        cb1.setChecked(false);
    }
});

最初からこの機能が組み込まれているため、この動作にはラジオ ボタンを使用することをお勧めします。

于 2012-10-30T05:48:34.420 に答える