Bao*_* Le 47 android radio-group
我从XML创建一个RadioGroup
<RadioGroup android:id="@+id/option"
android:layout_width="match_parent"
android:orientation="horizontal"
android:checkedButton="@+id/block_scenario_off"
android:layout_height="wrap_content">
<RadioButton
android:layout_width="0dip"
android:layout_weight="1"
android:text="@string/option1"
android:layout_height="wrap_content"
android:id="@+id/option1"
android:layout_gravity="center|left"
android:onClick="@string/on_click"/>
<RadioButton
android:layout_width="0dip"
android:layout_weight="1"
android:text="@string/option2"
android:onClick="@string/on_click"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/option2"/>
<RadioButton
android:layout_width="0dip"
android:layout_weight="1"
android:text="@string/option3"
android:onClick="@string/on_click"
android:layout_height="wrap_content"
android:layout_gravity="center|right"
android:id="@+id/option3" />
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
在Java代码中,我以编程方式检查有关活动创建的第一个(onCreate()),如下所示:
mOption = (RadioGroup) findViewById(R.id.option);
mOption.check(R.id.option1);
Run Code Online (Sandbox Code Playgroud)
但是当显示活动时,不会检查单选按钮.有帮助吗?
Bla*_*elt 64
在您的布局中,您可以添加android:checked="true"到CheckBox想要选择的位置.
或者以编程方式,您可以使用可检查界面中定义的setChecked方法:
RadioButton b = (RadioButton) findViewById(R.id.option1);
b.setChecked(true);
Sha*_*kar 33
试试这个如果你想根据一些变量的值来检查单选按钮,例如"genderStr",那么你可以使用下面的代码片段
if(genderStr.equals("Male"))
genderRG.check(R.id.maleRB);
else
genderRG.check(R.id.femaleRB);
Run Code Online (Sandbox Code Playgroud)
vik*_*vik 25
您可能需要在代码的onCreate方法中声明单选按钮并使用它们.
RadioButton rb1 = (RadioButton) findViewById(R.id.option1);
rb1.setChecked(true);
Run Code Online (Sandbox Code Playgroud)
And*_*oom 20
小心!检查radiobutton并setChecked()没有改变RadioGroup内的状态.例如,radioGroup中的这个方法将返回错误的结果:getCheckedRadioButtonId().
始终检查radioGroup
mOption.check(R.id.option1);
Run Code Online (Sandbox Code Playgroud)
你被警告了;)
小智 13
抓住无线电组并查看孩子,看看是否有任何未经检查.
RadioGroup rg = (RadioGroup) view;
int checked = savedInstanceState.getInt(wrap.getAttributeName());
if(checked != -1) {
RadioButton btn = (RadioButton) rg.getChildAt(checked);
btn.toggle();
}
Run Code Online (Sandbox Code Playgroud)
Tar*_*vyi 12
您也可以使用getChildAt()方法.像这样:
mOption = (RadioGroup) findViewById(R.id.option);
((RadioButton)mOption.getChildAt(0)).setChecked(true);
Run Code Online (Sandbox Code Playgroud)
Ser*_*bul 10
我在处理无线电组的索引时使用了这段代码:
radioGroup.check(radioGroup.getChildAt(index).getId());
Run Code Online (Sandbox Code Playgroud)
小智 8
如果你把你会工作 mOption.check(R.id.option1); 到onAttachedToWindow 法是这样的:
view.post(new Runnable()
{
public void run()
{
// TODO Auto-generated method stub
mOption.check(R.id.option1);
}
});
Run Code Online (Sandbox Code Playgroud)
原因可能是检查方法仅在实际渲染无线电组时才有效.
在为广播组使用getId()时,我使用以下代码段:
radiogroup.check(radiogroup.getChildAt(0).getId());
Run Code Online (Sandbox Code Playgroud)
根据RadioGroup的设计设置位置
希望能帮到你!
小智 5
在科特林中。选择第一个元素。并且您需要在onViewCreated或稍后执行此操作。
radioGroup.apply { check(getChildAt(0).id) }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
90475 次 |
| 最近记录: |