android - listview with multiple radios per row -


150 questions pull server. how ever cannot seem result radio button in radio group selected in each position. when 1 button selected on number 1 lets number 5 has same result.

ill post code now

customtestadapter

import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.baseadapter; import android.widget.radiobutton; import android.widget.radiogroup; import android.widget.textview; import java.util.arraylist;  public class customtestadapter extends baseadapter{ private arraylist<testquestionlist> data;  string questionrewrite;      public customtestadapter(final arraylist<testquestionlist> data)     {         this.data=data;     }      @override     public int getcount() {         // todo auto-generated method stub         return data.size();     }      @override     public object getitem(int position) {         // todo auto-generated method stub         return position;     }      @override     public long getitemid(int position) {         // todo auto-generated method stub         return position;     } @override public view getview(final int position, view convertview, viewgroup parent) {     // convert view = design      viewholder viewholder;     if(convertview==null)     {         convertview=layoutinflater.from(parent.getcontext()).inflate(r.layout.test_row,parent, false);         viewholder=new viewholder(convertview);         convertview.settag(viewholder);     } else         viewholder = (viewholder) convertview.gettag();      viewholder.questionnumber.settext("question number : " + data.get(position).getquestionid());     questionrewrite = data.get(position).getquestion();     questionrewrite = questionrewrite.replaceall("1:", system.getproperty("line.separator") + "1:");     questionrewrite = questionrewrite.replaceall("2:", system.getproperty("line.separator") + "2:");     questionrewrite = questionrewrite.replaceall("3:", system.getproperty("line.separator") + "3:");     questionrewrite = questionrewrite.replaceall("4:", system.getproperty("line.separator") + "4:");     questionrewrite = questionrewrite.replaceall("5:", system.getproperty("line.separator") + "5:");     viewholder.question.settext(questionrewrite);     viewholder.answeraread.settext(data.get(position).getanswera());     viewholder.answerbread.settext(data.get(position).getanswerb());     viewholder.answercread.settext(data.get(position).getanswerc());     viewholder.answerdread.settext(data.get(position).getanswerd());     viewholder.answereread.settext(data.get(position).getanswere());      viewholder.answeraread.setchecked(data.get(position).getquestionanswer() == "a");     viewholder.answerbread.setchecked(data.get(position).getquestionanswer() == "b");     viewholder.answercread.setchecked(data.get(position).getquestionanswer() == "c");     viewholder.answerdread.setchecked(data.get(position).getquestionanswer() == "d");     viewholder.answereread.setchecked(data.get(position).getquestionanswer() == "e");      viewholder.answeraread.settag(position);     viewholder.answerbread.settag(position);     viewholder.answercread.settag(position);     viewholder.answerdread.settag(position);     viewholder.answereread.settag(position);      convertview.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view view) {              viewholder vh = (viewholder) view.gettag();             if (vh.answeraread.ischecked()){                 data.get(position).setquestionanswer("a");             }else if (vh.answerbread.ischecked()){                 data.get(position).setquestionanswer("b");             }else if (vh.answercread.ischecked()){                 data.get(position).setquestionanswer("c");             }else if (vh.answerdread.ischecked()){                 data.get(position).setquestionanswer("d");             }else if (vh.answereread.ischecked()){                 data.get(position).setquestionanswer("e");             }                notifydatasetinvalidated();             notifydatasetchanged();         }     });       return convertview; }    static class viewholder {     textview questionnumber;     textview question;     radiobutton answeraread;     radiobutton answerbread;     radiobutton answercread;     radiobutton answerdread;     radiobutton answereread;     radiogroup questionanswers;     public viewholder(final view view){         questionnumber = (textview) view.findviewbyid(r.id.questionnumber);         question=(textview) view.findviewbyid(r.id.question);         answeraread=(radiobutton) view.findviewbyid(r.id.answeraread);         answerbread=(radiobutton) view.findviewbyid(r.id.answerbread);         answercread=(radiobutton) view.findviewbyid(r.id.answercread);         answerdread=(radiobutton) view.findviewbyid(r.id.answerdread);         answereread=(radiobutton) view.findviewbyid(r.id.answereread);         questionanswers= (radiogroup) view.findviewbyid(r.id.radiogroup1);     } }   } 

the problem in adapter settag, can try following project demo, https://drive.google.com/file/d/0b8qvcdry5jp0c2p4umlnngc2dku/view?usp=sharing


Comments