android clear radiogroup onclick按钮(清除)

时间:2018-07-11 03:06:18

标签: android listview android-view android-adapterview android-radiogroup

如何在单击按钮时取消选中单选组中的所有单选按钮。可能的代码是什么。尝试radiogroup.clearcheck()-不起作用。 我的广播组在列表视图中。 从两个不同的布局调用按钮和列表视图。

应取消选中“打开”按钮(清除)上的单选按钮

要查看代码,请关注帖子repeated post 预先感谢。

4 个答案:

答案 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();

希望有帮助!