2017-02-17 9 views
-1

enter image description hereКак получить доступ к элементам управления адаптерами из активности?

В базовом адаптере я использовал некоторое изображение, могу ли изменить изображение src в действии?

+0

, пожалуйста, прочтите следующее: [page1] (http://stackoverflow.com/help/how-to-ask) [страница2] (http://stackoverflow.com/help/mcve) [стр. 3] (http: /stackoverflow.com/help/on-topic) –

ответ

1

Вы не должны получать доступ к представлениям адаптера непосредственно в действии. Вместо этого напишите метод в адаптере. Вызовите адаптер. Измените изображение из своей активности.

public void changeImage(int imgResId) { 
    likeButton.setImageResource(imgResId); 
} 
+1

thnks bro, я создал один метод в адаптере, если успех в активности я назвал этим методом ........ – prabhakaran

1

Если изображение src предоставляется для осуществления деятельности, вы можете позвонить по телефону notifyDataSetChanged() после смены данных.

Например.

adapter = new MYAdapter(data); 
list.setAdapter(adapter); 
//change data here 
adapter.notifyDataSetChanged(); 
+0

imageview находится в адаптере, но я хочу изменить src из активности? – prabhakaran

+0

Можете ли вы показать мне, как вы сначала отправляете данные в адаптер? –

1

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

Возьмите пример, если у вас есть массив из 10 объектов, и вы хотите обновить ImageView на 5-й позиции, то обновить 5-й модели в ArrayList и вызвать adapter.notifyDataSetChange() будет обновлять желаемый вид изображения.

Смежные вопросы