Является ли метод getView ArrayAdapter лучшим способом вставки пользовательских представлений в ListView? - PullRequest
0 голосов
/ 25 октября 2011

У меня есть ListView, который я заполняю различными представлениями в зависимости от индекса. Это прекрасно работает, переопределяя метод getView, но мне интересно, это лучший способ сделать это? Основная причина, по которой я спрашиваю, заключается в том, что, когда я прокручиваю, некоторые виды, кажется, испорчены, например, имеют неправильный заданный фон.

Возможно, было бы полезно, если бы кто-то мог объяснить, что такое convertView и как правильно его реализовать. Потому что я обеспокоен тем, что причина, по которой мои взгляды получают неправильный фон, заключается в том, что я использую входящий в функцию convertView, а это неверно.

Ответы [ 2 ]

2 голосов
/ 25 октября 2011

Когда вы перерабатываете представления, вы должны понимать, что текущий convertView (когда convertView != null), с которым вы имеете дело, уже находится в определенном состоянии (например, имеет определенный фон для другого элемента).Поэтому вам необходимо убедиться, что вы настроили каждую часть представления соответствующим образом и не приняли никаких значений по умолчанию.

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

1 голос
/ 25 октября 2011

Относительно convertView возможно эта часть из книг Commonsware может помочь вам (стр. 107, если вы хотите прыгнуть).

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