//这是我的QuestionHolder
private class QuestionHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private JSONObject question;
private CheckBox checkBox;
private TextView question_txt;
public QuestionHolder(final LayoutInflater inflater, ViewGroup parent) {
super(inflater.inflate(R.layout.question_item, parent, false));
checkBox = (CheckBox) itemView.findViewById(R.id.question_checkbox);
checkBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//try {
//Toast.makeText(getActivity(), "ID: " + question.get("_id"), Toast.LENGTH_SHORT).show();
//} catch (JSONException e) { }
// TODO: If this was checked then add the question's id to the answered list
}
});
question_txt = (TextView) itemView.findViewById(R.id.question);
itemView.setOnClickListener(this);
}
//这里我绑定了问题文本
public void bind(JSONObject question) {
this.question = question;
try {
question_txt.setText(question.getString("_question"));
} catch (JSONException je) { }
}
@Override
public void onClick(View v) {
// TODO: If this was checked then add the question's id to the answered list
}
}
//这是我的扩展QuestionHOlder的适配器
private class QuestionAdapter extends RecyclerView.Adapter<QuestionHolder> {
private JSONArray questions;
public QuestionAdapter(JSONArray questions) {
this.questions = questions;
}
@Override
public QuestionHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new QuestionHolder(LayoutInflater.from(getActivity()), parent);
}
//这是onBindViewHolder
@Override
public void onBindViewHolder(QuestionHolder holder, int position) {
try {
final JSONObject question = questions.getJSONObject(position);
holder.bind(question);
} catch (JSONException je) { }
}
@Override
public int getItemCount() {
return questions.length();
}
}