我想禁用置于相对布局内的RadioGroup的点击!在某种程度上,我唯一的相对布局应该是可点击的。我希望在某些条件下我的XML如下:
<RelativeLayout
android:id="@+id/shouldNotPlayLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="40dp"
android:layout_marginLeft="44dp"
android:layout_marginRight="44dp"
android:layout_marginTop="40dp">
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:saveEnabled="false">
<RadioButton
android:id="@+id/radio_option_a"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/radio_option_selector"
android:button="@null"
android:padding="15dp"
android:textColor="#161743"
android:textSize="14sp"
android:textStyle="normal"
tools:text="First option"/>
<RadioButton
android:id="@+id/radio_option_b"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/radio_option_selector"
android:button="@null"
android:padding="15dp"
android:textColor="#161743"
android:textSize="14sp"
android:textStyle="normal"
tools:text="First option"/>
<RadioButton
android:id="@+id/radio_option_c"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/radio_option_selector"
android:button="@null"
android:padding="15dp"
android:textColor="#161743"
android:textSize="14sp"
android:textStyle="normal"
tools:text="First option"/>
</RadioGroup>
</RelativeLayout>
我停止对广播组的点击:
binding.questionLayout.radioOptionA.setEnabled(false);
binding.questionLayout.radioOptionB.setEnabled(false);
binding.questionLayout.radioOptionC.setEnabled(false);
binding.questionLayout.radioOptionA.setFocusable(false);
binding.questionLayout.radioOptionB.setFocusable(false);
binding.questionLayout.radioOptionC.setFocusable(false);
binding.questionLayout.shouldNotPlayLayout.requestFocus();
binding.questionLayout.shouldNotPlayLayout.setClickable(true);
binding.questionLayout.shouldNotPlayLayout.setFocusable(true);
我面临的问题是,有时这三个单选按钮中的任何一个仍然可以点击,用户可以点击任何单选按钮。但我想禁用无线电组/按钮上的点击,并在相对布局上完成点击!
有人可以解决我所犯的任何错误吗?
答案 0 :(得分:1)
添加binding.questionLayout.radio_group.setEnabled(false)
答案 1 :(得分:1)
我根据您的要求做了一个演示&amp;这就是你需要的,
private void manageEnableState(boolean isEnable) {
radioOptionA.setEnabled(isEnable);
radioOptionB.setEnabled(isEnable);
radioOptionC.setEnabled(isEnable);
radioOptionA.setFocusable(isEnable);
radioOptionB.setFocusable(isEnable);
radioOptionC.setFocusable(isEnable);
shouldNotPlayLayout.setClickable(!isEnable);
shouldNotPlayLayout.setFocusable(!isEnable);
}
使用isEnable
设置RadioButton
启用状态..
答案 2 :(得分:0)
请告诉我你做了什么但是请尝试按照它的帮助方式,
private void enableDisbleRadioGroup(RadioGroup groupId, boolean isEnable) {
for (int i = 0; i < groupId.getChildCount(); i++) {
groupId.getChildAt(i).setEnabled(isEnable);
}
}
在上面的方法中,传递你的无线电组ID并启用你想要的禁用模式,