Как установить изображение в пользовательском списке в Android? - PullRequest
0 голосов
/ 02 сентября 2011

Я занимаюсь разработкой приложения, в котором мне нужно показывать оценки в зависимости от значений, которые я получаю после анализа ответа XML в просмотре списка. Я реализовал его, используя пользовательский адаптер и показывая изображения в методе getView (), например:

String rating = Constants.menuRatingList.get(position);

if (rating.equals("1")) {
  rateImg1.setImageResource(R.drawable.stary);                      
}

Проблема в том, что когда я прокручиваю вниз до последнего элемента и снова двигаюсь вверх, он перерисовывает строку списка.

Кто-то, пожалуйста, предложите мне подойти, чтобы остановить перерисовку строки списка и навсегда установить значение изображения.

1 Ответ

0 голосов
/ 02 сентября 2011

Как создать переменную rateImg1? Может быть, вы должны получить его из представления, которое передается в метод getView ()? Примерно так:

public View getView(int position, View view, ViewGroup parent) {
if (view == null) {
view = LayoutInflater.from(ctx).inflate(R.layout.my_layout, parent, false);
}
((ImageView) view.findViewById(R.id.my_image)).setImageResource(R.drawable.some_drawable);
return view;
}

Также вы можете реализовать getViewTypeCount () и getItemViewType () и проверить их в вышеприведенном методе, чтобы не перерисовывать то же изображение, если оно уже установлено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...