如何在单击按钮时取消选中单选组中的所有单选按钮。可能的代码是什么。尝试radiogroup.clearcheck()-不起作用。 我的广播组在列表视图中。 从两个不同的布局调用按钮和列表视图。
应取消选中“打开”按钮(清除)上的单选按钮
要查看代码,请关注帖子repeated post 预先感谢。
答案 0 :(得分:0)
要清除列表视图中的所有RadioButton,请在您的适配器类中,
RadioButton rb;
rb.setChecked(false);
为选定的答案传递任何默认值。 说selectedAnser = 0;
在适配器中,
if(selectedAnswer.equals("0"))
{
//make all your radiobutton to checked false
radioButton.setChecked(false);
}
在“活动”中,单击清除按钮,
mClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
for(int i=0;i<yourDatalist.size();i++)
{
yourDatalist.get(i).setSelectedAnswer = "0";
}
//make adapter notify here
adapter.notifyDataSetChanged();
}
});
答案 1 :(得分:0)
使用
radioGroup.clearCheck();
或
radioGroup.check(-1);
或
for (int i = 0; i < radioGroup.getChildCount(); i++) {
RadioButton radioButton = (RadioButton) radioGroup.getChildAt(i);
radioButton.setChecked(false);
}
答案 2 :(得分:0)
使用此示例
radioGroup =(RadioGroup)findViewById(R.id.radioGroup); radioGroup.clearCheck();
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton rb = (RadioButton) group.findViewById(checkedId);
if (null != rb && checkedId > -1) {
Toast.makeText(MainActivity.this, rb.getText(), Toast.LENGTH_SHORT).show();
}
}
});
}
public void onClear(View v) {
/* Clears all selected radio buttons to default */
radioGroup.clearCheck();
}
答案 3 :(得分:0)
从以下位置更改CustomAdapter构造函数:
public CustomAdapter(Context applicationContext, String[] questionsList) {
this.context = context;
this.questionsList = questionsList;
selectedAnswers = new ArrayList<>();
for (int i = 0; i < questionsList.length; i++) {
selectedAnswers.add("3");
}
inflter = (LayoutInflater.from(applicationContext));
}
收件人:
public CustomAdapter(Context applicationContext, String[] questionsList) {
this.context = context;
this.questionsList = questionsList;
resetAnswers();
inflter = (LayoutInflater.from(applicationContext));
}
public void resetAnswers(){
selectedAnswers = new ArrayList<>();
for (int i = 0; i < questionsList.length; i++) {
selectedAnswers.add("3");
}
}
在OnClick()中单击清除按钮:
customAdapter.resetAnswers();
customAdapter.notifyDataSetChanged();
希望有帮助!