01/10/2018, 08:59
Cách check lần lượt các radio button trong radiogroup dùng trong listview
M đang làm 1 app android thi trắc nghiệm, đề bài gồm 10 câu hỏi, mỗi câu 4 đáp án a, b, c, d. Danh sách câu hỏi được biển diễn trên 1 listView, mỗi câu hỏi được custom, cuối listView là 1 button nộp bài. Người học sẽ làm bài, sau đó nhấn button để nộp bài, m muốn hỏi làm thế nào để lưu được các đáp án ở từng câu hỏi mà người dùng đã lựa chọn (giả sử lưu vào mảng result[] ) để so sánh với đáp án có sẵn.
Custom câu hỏi:
public class mAdapter extends ArrayAdapter<CauHoi> {
Activity context;
int resource;
List<CauHoi> objects;
public mAdapter(Activity context, int resource, List<CauHoi> objects) {
super(context, resource, objects);
this.context = context;
this.objects = objects;
this.resource = resource;
}
@NonNull
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = this.context.getLayoutInflater();
View row = inflater.inflate(this.resource, null);
final CauHoi cauHoi = this.objects.get(position);
RadioGroup rg = (RadioGroup) row.findViewById(R.id.btnGroup);
TextView txtMaCauHoi = (TextView) row.findViewById(R.id.txtMaCauHoi);
TextView txtNoiDung = (TextView) row.findViewById(R.id.txtNoiDung);
RadioButton btnDaA = (RadioButton) row.findViewById(R.id.btnDaA);
RadioButton btnDaB = (RadioButton) row.findViewById(R.id.btnDaB);
RadioButton btnDaC = (RadioButton) row.findViewById(R.id.btnDaC);
RadioButton btnDaD = (RadioButton) row.findViewById(R.id.btnDaD);
txtMaCauHoi.setText((position + 1) + "");
txtNoiDung.setText(cauHoi.getContent());
btnDaA.setText(cauHoi.getOptionA());
btnDaB.setText(cauHoi.getOptionB());
btnDaC.setText(cauHoi.getOptionC());
btnDaD.setText(cauHoi.getOptionD());
return row;
}
}
đây là đoạn code đưa danh sách câu hỏi vào listView
lvCauHoi= (ListView) findViewById(R.id.lvCauHoi);
mAdapter = new mAdapter(this, R.layout.custom_lisview, dsCauHoi);
lvCauHoi.setAdapter(cauHoiBaiTestAdapter);
btnNopBai = (Button) findViewById(R.id.btnNopBai);
btnNopBai.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
Bài liên quan