-3
我正在学习Android应用程序,学生可以尝试并查看其测试。将ArrayAdapter的值传递给活动
我在活动的ListView中向学生显示测试。 我也想显示学生的总分和获得的分数。
这是我的ArrayAdapter的getView函数。
public View getView(int position, View convertView, ViewGroup parent) {
Text_Questions questions = getItem(position);
ViewHolder v = null;
View view = convertView;
try {
if (convertView == null) {
v = new ViewHolder();
convertView = LayoutInflater.from(getContext()).inflate(R.layout.text_questions_list_item, parent, false);
v.title = (TextView)convertView.findViewById(R.id.title);
v.marks = (TextView)convertView.findViewById(R.id.marks);
v.answer = (TextView)convertView.findViewById(R.id.answer);
v.std_answer = (TextView)convertView.findViewById(R.id.std_answer);
convertView.setTag(v);
}
else {
v = (ViewHolder) convertView.getTag();
}
v.title.setText("Q: "+questions.getTitle());
v.std_answer.setText("Ans: "+ questions.getStd_answer());
v.answer.setText("Correct: " + questions.getAnswer());
if(questions.getAnswer().toLowerCase().equals(questions.getStd_answer().toLowerCase())){
v.marks.setText(""+questions.getMarks() + "/" + questions.getMarks());
}else{
v.marks.setText("0/" + questions.getMarks());
}
return convertView;
}catch (Exception e) {
return null;
}
}
将项目设置为ListView时,我想将该问题的标记传递给我的活动。 我没有找到任何解决方案。 有什么想法?
感谢您的帮助提前
谢谢,您的解决方案工作。但是我有一个问题,我在'getView()'中调用'myActivity.setMarks(marks)',但是'getView()'为每个项目调用两次。 – Taimoor
我很高兴解决方案奏效。但是,对于多次调用getView()的查询,我建议您提出一个单独的问题,以便当前的问题不会脱离主题。另外,如果您认为当前问题的解决方案有效,请接受答案。谢谢 :)。此外,请仔细阅读以下内容: https://stackoverflow.com/questions/2872996/best-way-to-handle-multiple-getview-calls-from-inside-an-adapter – sri