Android RadioGroup.clearCheck()在动态创建单选按钮的情况下不工作
在我的应用程序中,我正在动态创建单选按钮,并希望在选中其中一个单选按钮时取消选中所有其他单选按钮。为此,我使用了RadioGroup.clearCheck(),但它根本不起作用。以下代码:Android RadioGroup.clearCheck()在动态创建单选按钮的情况下不工作,android,onclick,radio-button,Android,Onclick,Radio Button,在我的应用程序中,我正在动态创建单选按钮,并希望在选中其中一个单选按钮时取消选中所有其他单选按钮。为此,我使用了RadioGroup.clearCheck(),但它根本不起作用。以下代码: for (int i=0; i<files.length; i++) { rbi = new RadioButton(context); rb1 = new RadioGroup(context);
for (int i=0; i<files.length; i++)
{
rbi = new RadioButton(context);
rb1 = new RadioGroup(context);
rb1.addView(rbi);
nameOfFile = files[i].getName();
rbi.setText(nameOfFile);
ll.addView(rb1);
rbi.setOnClickListener(
new RadioButton.OnClickListener()
{
@Override
public void onClick(View v)
{
rb1.clearCheck();
rbi.setChecked(true);
}
for(int i=0;i您是否尝试过(使用System.out.println(“test”))或其他东西,如果它甚至进入了清算部分?将首先测试它。
这就是zapl的意思
rb1.setOnCheckedChangeListener(
new RadioGroup.OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup rb1,
int checkedId) {
Log.v("Selected", "New radio item selected: " + checkedId);
}
});
如果有效,那么您可以尝试以下方法:
if (rbi.isChecked()){
rb1.clearCheck();
rbi.setChecked(true);
}
您创建了大量的RadioButton
s,其中只有1个RadioButton
。这可能不是您想要的。一个RadioButton
组需要包含多个RadioButton
s,以便您可以在列表中选择一个活动按钮。请参阅下面的代码
// create 1 RadioGroup, add it to the layout
RadioGroup rg = new RadioGroup(context);
ll.addView(rg);
// add several RadioButtons to the RadioGroup
for (int i=0; i < files.length; i++) {
String nameOfFile = files[i].getName();
RadioButton rb = new RadioButton(context);
rb.setId(i); // assign an id
rb.setText(nameOfFile);
rg.addView(rb); // add to group
}
// do something when user checks a button
rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, int checkedId) {
// user selected files[checkedId].getName();
}
});
//创建1个放射组,将其添加到布局中
放射组rg=新放射组(上下文);
ll.addView(rg);
//将几个单选按钮添加到RadioGroup
对于(int i=0;i
当你检查一个按钮时,它们都会被检查?你不应该为RadioButton
做setOnClickListener
,因为它已经由RadioGroup
管理,它会通过setOnCheckedChangeListener
@Bigflow通知你,当我调用rb1时,没有一个RadioButton被检查。clearcheck()@zapl你能给我几行代码吗?