Android - элементы ListView, поддерживающие стиль при прокрутке - PullRequest
0 голосов
/ 07 января 2012

Я знаю, что подобные вопросы уже задавались, но пока не понимаю, каков будет правильный подход к решению проблемы.

Я хотел бы изменить цвет фона строки ListView, когда пользователь щелкает ее. Однако из-за того, что Android повторно использует макеты строк при прокрутке, цвет фона повторяется для других строк. Мне интересно, каков был бы правильный подход к поддержанию исходного макета для всех строк, кроме того, который был изменен программно, а также для сохранения информации об измененном макете для этой строки для прокрутки назад. Я использую SimpleAdapter, которому передается XML макета строк.

Привет

1 Ответ

0 голосов
/ 07 января 2012

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

Примечание: Я не поместил код непосредственно в этот ответ, потому что то, где вы его добавите, зависит от вашей собственной реализации. Например, я бы добавил .setBackgroundDrawable() к bindView() в расширенном CursorAdapter.

Надеюсь, это поможет,

FuzzicalLogic

...