RadioButton没有取消选中

时间:2018-03-27 14:42:08

标签: android radio-button

我知道这已被问了很多,但我仍然无法找到解决方法。当我选择另一个单选按钮时,这些单选按钮不会清除。我不希望他们返回或显示值,而是设置值。

所有三个单选按钮都在标识为radioGroup

的广播组内

请帮忙。谢谢:))

public void onRadioButtonClicked(View view) {
    boolean checked = ((RadioButton) view).isChecked();

    switch(view.getId()) {
        case R.id.radioButton_plumber:
            if(checked) {
                internalWorkerType = "Plumbers";
                dbRef = db.getReference(Common.user_workers_table).child(internalWorkerType);
            }
            break;
        case R.id.radioButton_carpenter:
            if(checked) {
                internalWorkerType = "Carpenters";
                dbRef = db.getReference(Common.user_workers_table).child(internalWorkerType);
            }
            break;
        case R.id.radioButton_electrician:
            if(checked) {
                internalWorkerType = "Electricians";
                dbRef = db.getReference(Common.user_workers_table).child(internalWorkerType);
            }
            break;
    }

XML代码

<RadioGroup
    android:id="@+id/radioGroup"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="8dp"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:orientation="horizontal"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/textview_generic1">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RadioButton
            android:id="@+id/radioButton_plumber"
            android:layout_width="104dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="8dp"
            android:layout_marginTop="8dp"
            android:onClick="onRadioButtonClicked"
            android:text="Plumber"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toStartOf="@+id/radioButton_carpenter"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintHorizontal_chainStyle="spread_inside"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <RadioButton
            android:id="@+id/radioButton_carpenter"
            android:layout_width="104dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="8dp"
            android:onClick="onRadioButtonClicked"
            android:text="Carpenter"
            app:layout_constraintEnd_toStartOf="@+id/radioButton_electrician"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/radioButton_plumber"
            app:layout_constraintTop_toTopOf="parent" />

        <RadioButton
            android:id="@+id/radioButton_electrician"
            android:layout_width="104dp"
            android:layout_height="wrap_content"
            android:layout_marginBottom="8dp"
            android:layout_marginTop="8dp"
            android:onClick="onRadioButtonClicked"
            android:text="Electrician"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.5"
            app:layout_constraintStart_toEndOf="@+id/radioButton_carpenter"
            app:layout_constraintTop_toTopOf="parent" />

    </android.support.constraint.ConstraintLayout>

</RadioGroup>

3 个答案:

答案 0 :(得分:2)

RadioButtons必须是RadioGroup的直接孩子,删除constraintLayout才能生效

答案 1 :(得分:1)

尝试将text = "" for a in response.css("div.article *::text").extract() text += a.strip() 保留在外面。

ConstraintLayout

答案 2 :(得分:0)

如果您想使用ConstraintLayout来管理RadioButton小部件的布局,请访问https://github.com/samlu/ConstraintRadioGroup

blRadioGroup小部件可以帮助管理ConstraintLayout中选中的RadioButton的更改。