我正在为学生开发Android应用,学生可以尝试并查看他们的测试。
我正在活动的列表视图中向学生显示测试。 我还想显示学生的总分和得分。
这是我的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时,我想将该问题的标记传递给我的Activity。 我没有找到任何解决方案。 有什么想法吗?
提前感谢您的帮助
答案 0 :(得分:1)
您可以在Activity
中创建一个公共方法,如下所示:
public void setMarks(int marks){
this.marks = marks
}
然后在ArrayAdapter
中,您可以执行以下操作:
private YourActivity yourActivity;
public YourArrayAdapter(YourActivity yourActivity) {
this.yourActivity = yourActivity;
}
然后在getView()
:
yourActivity.setMarks(marks);