ЦельКнопка Link с выбранной радио-кнопки в списке
Для учебных целей я создал custom list view
с 5 items
. Each Item
будет question, choices, check
кнопка.
@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;
}
Вот как я установил свои предметы. Как видите, у меня есть TextView, 1 radio group, 4 radio button, 1 button
в держателе.
Question
- класс, который содержит все содержимое каждой строки. Поэтому я прохожу array of question objects to this adapter
.
Сомнение
Когда пользователь нажимает на кнопку проверки, он должен найти выбранную кнопку радио и проверки в отношении ответа. Ответ также будет частью класса Question.Toast.
Как это сделать? Я застрял на этом. Я не могу найти, как связать его?
Если html
, я мог бы установить Id
для div
который держит row item
и от нажатия кнопки, я получить идентификатор родительский и от родительского Id я могу получить выбранный переключатель, и я могу проверить сохраненный ответ против выбранного стоимость.
Больше объяснения
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
Это как мой макет будет выглядеть. Как вы видите в моем методе getView
, я дал id
для элементов самой компоновки. ?. Таким образом, он принимает тот же идентификатор для всех элементов :(
Любые предложения