package cn.coderss.adapter;
import java.util.ArrayList;
import java.util.HashMap;
import cn.coderss.bean.AnswerBean;
import cn.coderss.bean.QuestionBean;
import cn.coderss.edu.R;
import cn.coderss.util.L;
import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
public class TestDetailAdapter extends BaseAdapter {
ArrayList<QuestionBean> datalist;
Context mcontext;
public HashMap<Integer, String> answer;
View mview;
public TestDetailAdapter(ArrayList datalist, Context mcontext,HashMap<Integer, String> answer) {
super();
this.datalist = datalist;
this.mcontext = mcontext;
this.answer = answer;
if (datalist!=null) {
for (QuestionBean bean : this.datalist) {
answer.put(Integer.valueOf(bean.id), "A");
}
}
}
@Override
public int getCount() {
if (datalist == null) {
return 0;
}
return datalist.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@SuppressLint({ "UseValueOf", "NewApi" })
@Override
public View getView(int position, View view, ViewGroup viewGroup) {
LayoutInflater li = LayoutInflater.from(mcontext);
mview = li.inflate(R.layout.adapter_test_detail, null);
QuestionBean bean = datalist.get(position);
ViewHolder viewholder = new ViewHolder();
viewholder.title = (TextView) mview.findViewById(R.id.title);
viewholder.A = (RadioButton) mview.findViewById(R.id.A);
viewholder.B = (RadioButton) mview.findViewById(R.id.B);
viewholder.C = (RadioButton) mview.findViewById(R.id.C);
viewholder.D = (RadioButton) mview.findViewById(R.id.D);
viewholder.sel = (RadioGroup) mview.findViewById(R.id.sel);
/**
* 判断之前的cell选择了什么答案
*/
String ans;
if (!answer.get(Integer.valueOf(bean.getId())).isEmpty()) {
ans=answer.get(Integer.valueOf(bean.getId()));
L.i("我的答案:"+answer);
if (ans.contentEquals("A")) {
viewholder.A.setChecked(true);
}
else if (ans.contentEquals("B")) {
viewholder.B.setChecked(true);
}
else if (ans.contentEquals("C")) {
viewholder.C.setChecked(true);
}
else if (ans.contentEquals("D")) {
viewholder.D.setChecked(true);
}
}
int id = Integer.parseInt(datalist.get(position).id);
viewholder.title.setText(bean.content);
viewholder.A.setText(bean.aA);
viewholder.A.setTag(id);
viewholder.B.setText(bean.aB);
viewholder.B.setTag(id);
viewholder.C.setText(bean.aC);
viewholder.C.setTag(id);
viewholder.D.setText(bean.aD);
viewholder.D.setTag(id);
viewholder.A.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton radio, boolean arg1) {
if (arg1) {
answer.put(new Integer((Integer) radio.getTag()), "A");
L.i("我的点击后答案:"+answer);
}
}
});
viewholder.B.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton radio, boolean arg1) {
if (arg1) {
answer.put(new Integer((Integer) radio.getTag()), "B");
L.i("我的点击后答案:"+answer);
}
}
});
viewholder.C.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton radio, boolean arg1) {
if (arg1) {
answer.put(new Integer((Integer) radio.getTag()), "C");
L.i("我的点击后答案:"+answer);
}
}
});
viewholder.D.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton radio, boolean arg1) {
if (arg1) {
answer.put(new Integer((Integer) radio.getTag()), "D");
L.i("我的点击后答案:"+answer);
}
}
});
return mview;
}
class ViewHolder {
TextView title;
RadioButton A;
RadioButton B;
RadioButton C;
RadioButton D;
RadioGroup sel;
}
}