TorLink-Taste mit ausgewähltem Optionsfeld in der Listenansicht
Zum Zweck lernen, ich habe ein custom list view
mit 5 items
erstellt. Each Item
wird question, choices, check
Schaltfläche haben.
@Override
public View getView(int pos, View row, ViewGroup parent){
this.view = row;
ViewHolder viewHolder = null;
if(row == null) {
LayoutInflater inflater = ((Activity)context).getLayoutInflater();
row = inflater.inflate(R.layout.list_item_row_qs, null);
viewHolder = new ViewHolder();
viewHolder.chapName=(TextView) row.findViewById(R.id.question);
viewHolder.rb0 = (RadioButton) row.findViewById(R.id.choice0);
viewHolder.rb1 = (RadioButton) row.findViewById(R.id.choice1);
viewHolder.rb2 = (RadioButton) row.findViewById(R.id.choice2);
viewHolder.rb3 = (RadioButton) row.findViewById(R.id.choice3);
viewHolder.button = (Button) row.findViewById(R.id.check);
row.setTag(viewHolder);
}
else {
viewHolder = (ViewHolder)row.getTag();
}
viewHolder.chapName.setText(questions[pos].getQuestionDescr());
viewHolder.rb0.setText(questions[pos].getChoice()[0]);
viewHolder.rb1.setText(questions[pos].getChoice()[1]);
viewHolder.rb2.setText(questions[pos].getChoice()[2]);
viewHolder.rb3.setText(questions[pos].getChoice()[3]);
//viewHolder.button.setId(pos);
//viewHolder.rg.setId(pos);
/* viewHolder.button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Toast.makeText(context, ((RadioButton) view.findViewById(((RadioGroup) view.findViewById(R.id.rg)).getCheckedRadioButtonId()))+"", Toast.LENGTH_LONG).show();
}
});*/
return row;
}
So stelle ich meine Artikel ein. Wie Sie sehen, habe ich TextView, 1 radio group, 4 radio button, 1 button
im View Holder.
Question
ist eine Klasse, die den gesamten Inhalt jeder Zeile enthält. So passiere ich array of question objects to this adapter
.
Doubt
Wenn der Benutzer auf einem Scheck Schaltfläche klickt, das ausgewählte Optionsfeld und Kontrollen gegen die Antwort zu finden hat. Die Antwort wird auch Teil der Question-Klasse sein. Bereiten Sie das Ergebnis vor.
Wie mache ich das? Ich stecke darauf fest. Ich bin nicht in der Lage zu finden, wie man es verbindet?
Wenn es html
ist, konnte ich Id
für div
gesetzt, die row item
und von Button-Klick hält, werde ich die Eltern Id und von der übergeordneten Id bekommen kann ich Radio-Button erhalten ausgewählt, und ich kann die gespeicherte Antwort gegen den ausgewählten überprüfen Wert.
Weitere Erklärung
Question1
choice0 choice1
choice2 choice3
CHECK
Question2
choice0 choice1
choice2 choice3
CHECK
Question3
choice0 choice1
choice2 choice3
CHECK
Question4
choice0 choice1
choice2 choice3
CHECK
Question5
choice0 choice1
choice2 choice3
CHECK
Dies ist, wie mein Layout aussehen wird. Wie Sie in meiner getView
Methode sehen, habe ich id
für die Elemente im Layout selbst angegeben. ?. So ist es gleiche Id für alle Elemente nimmt :(
Irgendwelche Vorschläge