5

ラジオグループまたはラジオボタン属性があるかどうか、またはラジオボタンがチェックモードのときにラジオボタンのチェックを外すことができる他の何かがあるかどうかを誰かが知っているかどうかを確認したかっただけです。ラジオグループのように機能する機能を構築しようとしています (つまり、1 つだけをチェックできます) が、それらをすべてチェック解除できるようにしたいと考えています。

4

2 に答える 2

11

ここで質問が得られないかもしれませんが、これは私がやりたかったことです。多くの写真を分類するために使用するアクティビティが 1 つあります。ラジオボタンで分類しています。ユーザーがオプションの 1 つをチェックすると、次の画像に切り替えることができます。写真を切り替えるときに選択をクリアする必要がありましたが、新しいアクティビティを作成しないことにしました。

そのため、次のようにレイアウトでラジオ グループを初期化します。

<RadioGroup
    android:id="@+id/radio_selection"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <RadioButton
        android:id="@+id/radio_true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="false"
        android:text="@string/true" />

    <RadioButton
        android:id="@+id/radio_false"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="false"
        android:text="@string/false" />
</RadioGroup>

これにより、ラジオ グループが初期化され、両方ともRadioButton最初は選択されていません。その後、画像を変更するときに、選択をクリアする必要があります (ユーザーがまだ新しい画像を選択していないため)。私はそれが好きです:

RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radio_selection);
radioGroup.clearCheck();

これはまさに私が必要としているものです。選択されているラジオボタンを再び作成しません。私は質問を理解し、これが将来誰かを助けることを願っています.

于 2012-04-07T14:13:15.193 に答える
3

以下に示すように、CheckBox を使用して必要な機能を模倣できます。このコードは、2 つのチェック ボックスがあることを前提としていますが、3 つ以上ある場合もあります。

public void onClick(View v) {
    int id = v.getId();
    if (id == R.id.checkBox1) {
        // Toggle status of checkbox selection
        checkBox1Selected = checkBox1.isChecked();

        // Ensure that other checkboxes are not selected
        if (checkBox2Selected) {
            checkBox2.setChecked(false);
            checkBox2Selected = false;
         } 
    else if (id == R.id.checkBox2) {
         // Toggle status of checkbox selection
         checkBox2Selected = checkBox2.isChecked();

        // Ensure that other checkboxes are not selected
        if (checkBox1Selected) {
            checkBox1.setChecked(false);
            checkBox1Selected = false;
        }
}
于 2011-06-22T03:01:07.083 に答える