#android #listview #android-arrayadapter #android-3.0-honeycomb
#Android #listview #android-arrayadapter #android-3.0-honeycomb
Вопрос:
Я использую адаптер массива с представлением списка. Когда я нажимаю на элемент из списка, я могу изменить прорисовываемый фон, но я также хочу изменить изображение (из макета адаптера) отмеченного элемента. Как я могу изменить это изображение? Спасибо.
Ответ №1:
Это изображение получено из отображаемых данных? (Например, в ваших данных есть какое-то поле с возможностью рисования?)
Если это так, вы можете изменить это значение для рисования и вызвать adapter.notifyDataSetChanged()
.
(Я предполагаю, что вы довольны Android API … если нет, я могу дать вам более подробный подход)
Обновить
Я никогда этого не делал, но пытаюсь сделать что-то похожее на это:
oldDrawable.mutate().setBackgroundDrawable(newDrawable);
Кроме того, чтение этого должно помочь вам в дальнейшем:
http://developer.android.com/resources/articles/drawable-mutations.html
Комментарии:
1. Нет. В моем макете элемента списка есть значок. И я хочу изменить отображение этого значка. Я попытался внести изменения в onListItemClick с помощью adaper.notifyDataSetChanged(), но это не сработало.
2. Спасибо за информацию. Изменение не сработало в onListItemClick. Возможно, мне нужно использовать измененный drawable где-то еще при выборе элемента.