Может ли отдельный элемент в списке данных в запросе ArrayAdapter обновиться?

У меня есть ArrayAdapter, привязанный к ArrayList<MyClass>

Внутри MyClass есть много логики, включая изменение определенных свойств объектов MyClass, которые требуют обновления в поле зрения. Как только такое изменение будет обнаружено внутри объекта MyClass, я хотел бы вызвать связанный ArrayAdapter.notifyDataSetChanged().

Однако элементы MyClass не сохраняют автоматически ссылку на адаптер, в то время как адаптер сохраняет ссылку на ArrayList. Есть ли простой способ решить эту проблему?


person dowjones123    schedule 01.01.2015    source источник
comment
В какой ситуации объект MyClass изменится ... означает, что при обновлении базы данных или в любой другой ситуации ...   -  person Chandrakanth    schedule 01.01.2015


Ответы (2)


Вы не можете перезагрузить одну строку, но вместо этого вы можете получить запрошенное представление и внести в него изменения напрямую, вызвав yourListView.getChildAt(int VisiblePosition);, где visiblePostion - это позиция в ListView минус yourListView.getFirstVisiblePosition().

Нравится :

View v = listViewItems.getChildAt(position - 
        listViewItems.getFirstVisiblePosition());
v.setBackgroundColor(Color.GREEN);

Ответ от Driss Bounouar

person Neji    schedule 01.01.2015

Создайте адаптер массива и примените изменения в отдельном элементе

person Rohit Heera    schedule 01.01.2015