Bru*_*les 1 java android radiobuttonlist radio-group radio-button
我是以编程方式在一个radiogroup中创建一系列单选按钮:
for (Soldier soldier:clickedSquad.getMembers()) {
Integer I=0;
soldier.setId(I);
RadioButton radiobutton=new RadioButton(getContext());
radiobutton.setText(soldier.toString());
radiobutton.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
radiobutton.setId(soldier.getId());
I++;
soldierRgrp.addView(radiobutton);
}
Run Code Online (Sandbox Code Playgroud)
它按照我的意图创建了radiobuttons,但是当我点击几个时,它们都像一个复选框一样点击,我只需要一次点击就像radiobuttons一样.
知道为什么会这样吗?
radiogroup在XML中,如下所示:
<RadioGroup
android:layout_margin="10dp"
android:id="@+id/reg_rgrp_soldiers"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
RadioButtons只有在相同的情况下才会表现出这种方式id
.在你的情况下,他们做!您I=0
每次都在初始化变量.因此,每个士兵都得到同样的id
.士兵们并不特别喜欢!将您的代码更改为:
int i=0;
for (Soldier soldier:clickedSquad.getMembers()) {
soldier.setId(i++);
RadioButton radiobutton=new RadioButton(getContext());
radiobutton.setText(soldier.toString());
radiobutton.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
radiobutton.setId(soldier.getId());
soldierRgrp.addView(radiobutton);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1766 次 |
最近记录: |