Selecting one RadioButton value and scrolling back removing the selected one in RecyclerView

后端 未结 9 1894
温柔的废话
温柔的废话 2020-12-15 18:24

In my application am displaying 20 multiple choice questions with the help of RecyclerView.

If I change the value of first RadioGroup and s

9条回答
  •  悲&欢浪女
    2020-12-15 18:58

    You can do it in this way.....

    inside your bean class add one field say

    String final_answer;
    public String getFinalAnswer(){
      return final_answer;
    }
    
    public void setFinalAnswer(String final_answer){
      this.final_answer = final_answer;
    }
    

    in adapter.....

    public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
    
        final Student student = stList.get(position);
    
        viewHolder.tvQuestionNumber.setText(student.getQuestionNumber());
    
        viewHolder.tvQuestion.setText(student.getQuestion());
    
        viewHolder.rbAns1.setText(student.getAnswer1());
    
        viewHolder.rbAns2.setText(student.getAnswer2());
    
        viewHolder.rbAns3.setText(student.getAnswer3());
    
        viewHolder.rbAns4.setText(student.getAnswer4());
    
        viewHolder.rbAns5.setText(student.getAnswer4());
    
        viewHolder.rgAnswers.clearCheck();
    
       if(student.getSelectedRadioButtonId()!=null)
         viewHolder.rgAnswers.check(student.getSelectedRadioButtonId());
       else
         viewHolder.rgAnswers.clearCheck();
    
        viewHolder.rgAnswers.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
              if(checkedId != -1){
                student.setSelectedRadioButtonId(checkedId);
                RadioButton rb = (RadioButton)viewHolder.rgAnswers.
                                      findViewById(checkedId);
    
                student.setFinalAnswer(rb.getText);
                stList.get(position) = student;
              }
            }
        });
    }
    

    To get selected answers finally...write this code in main activity

      public void getSelectedAnswers(){
    
           for(int i=0;i

提交回复
热议问题