У меня есть вопрос/ответ. Я хочу, чтобы изменить цвет 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();
}
}
Проблема в том, что программа дает NullPointerException на
if(i==0) {
listView.getChildAt(i).setBackgroundColor(Color.GREEN);
}
кодекса адаптер:
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;
}
Надеюсь, что я поняла. Пожалуйста, помогите.
Установите элемент фона в 'getapter'' getView'. –
@ dieter_h может дать дополнительную помощь –
Да. Введите код адаптера. –