用于展现重复性的东西,Listview比较好用,看了别人的自定义Adapter(item是EditText,能够很好地获取到每一个item的EditText值)。又由于在做项目的需要,故特制了一个item包含RadioGroup的Listview的自定义Adapter。
主要功能:
1.将任意数目的单选题(题干和4个选项)展现在界面上;
2.每一题都选择后,提交,可以讲每一题的答案获取到
涉及到两个entity:
public class TopicItem implements Serializable {
private String questionId;//题目id
private String question;//题干
private String answerId;
private String userAnswerId; //选择的答案选项
private List<OptionItem> optionList;
public String getQuestionId() {
return questionId;
}
public void setQuestionId(String questionId) {
this.questionId = questionId;
}
public String getQuestion() {
return question;
}
public void setQuestion(String question) {
this.question = question;
}
public String getAnswerId() {
return answerId;
}
public void setAnswerId(String answerId) {
this.answerId = answerId;
}
public String getUserAnswerId() {
return userAnswerId;
}
public void setUserAnswerId(String userAnswerId) {
this.userAnswerId = userAnswerId;
}
public List<OptionItem> getOptionList() {
return optionList;
}
public void setOptionList(List<OptionItem> optionList) {
this.optionList = optionList;
}
}
public class OptionItem implements Serializable {
private String answerOption;//选项序号
private String answer;//选项文字
public String getAnswerOption() {
return answerOption;
}
public void setAnswerOption(String answerOption) {
this.answerOption = answerOption;
}
public String getAnswer() {
return answer;
}
public void setAnswer(String anwer) {
this.answer = anwer;
}
}
自定义的adapter:
public class TopicAdapter extends BaseAdapter {
private static final String TAG = "TopicAdapter" ;
String KEY = "list_topic_item";
private LayoutInflater mInflater;
private Context context;
private List<Map<String, TopicItem>> mData;
public TopicAdapter(Context context, List<Map<String, TopicItem>> data) {
mData = data;
mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.context = context;
init();
}
private void init() {
mData.clear();
}
@Override
public int getCount() {
int count = mData == null ? 0 : mData.size();
return count ;
}
@Override
public Object getItem(int position) {
/*Object obj = records != null && records.size() > position ? records.get(position) : null;
return obj;*/
return null;