2
我有一個問題/答案的應用程序。我想改變的listItem顏色這個問題是由author.Here回答是片段ListView項目背景:Android
for (int i = 0; i < response.length(); i++) {
try {
JSONObject obj = response.getJSONObject(i);
QuestionGetSet movie = new QuestionGetSet();
movie.setQues(obj.getString("abc"));
movie.setDate(obj.getString("def"));
movie.setNumber(obj.getString("ghi"));
farmerName[i] = obj.getString("jkl");
cropType[i] = obj.getString("mno");
relatedField[i] = obj.getString("pqr");
number[i]=obj.getString("stu");
// adding movie to movies array
movieList.add(movie);
if(i==0) {
listView.getChildAt(i).setBackgroundColor(Color.GREEN);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
的問題是,該程序在
if(i==0) {
listView.getChildAt(i).setBackgroundColor(Color.GREEN);
}
適配器代碼給NullPointerException異常:
public class CustomListAdapter extends BaseAdapter {
private Activity activity;
private LayoutInflater inflater;
private List<QuestionGetSet> quesItems;
public CustomListAdapter(Activity activity, List<QuestionGetSet> quesItems) {
this.activity = activity;
this.quesItems = quesItems;
}
@Override
public int getCount() {
return quesItems.size();
}
@Override
public Object getItem(int location) {
return quesItems.get(location);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (inflater == null)
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null)
convertView = inflater.inflate(R.layout.custom_list_layout_home, null);
TextView question = (TextView) convertView.findViewById(R.id.txt_questions);
TextView date = (TextView) convertView.findViewById(R.id.txt_date);
TextView number = (TextView) convertView.findViewById(R.id.txt_asked_by);
// getting movie data for the row
QuestionGetSet m = quesItems.get(position);
// title
question.setText(m.getQues());
// rating
date.setText(m.getDate());
// release year
number.setText(m.getNumber());
return convertView;
}
}
我希望我清楚。請幫助。
在'Adapter'' getView'方法中設置項目背景。 –
@dieter_h可以給你更多的幫助 –
是的。發佈適配器代碼。 –