Обновить представление списка для определенной позиции элемента

У меня есть приемник, который транслируется, когда служба намерений завершает вызов сервера. Когда приемник транслируется в onReceive, я обновил представление списка новыми данными. Я хочу установить позицию элемента в последний элемент в списке перед трансляцией. Я пытался использовать setSelection() и smoothScrollToPosition(), но список фокусируется на первом элементе каждый раз, когда список обновляется.


person Dory    schedule 03.01.2013    source источник


Ответы (3)


Попробуйте этот код

     mAdapter.notifyDataSetChanged();

где mAdapter — это ваш объект адаптера, который вы использовали для заполнения данных в ListView. Он будет обновлять только ваш ListView, не фокусируясь на первом элементе.

person Pankaj Singh    schedule 03.01.2013
comment
Я использовал этот код. но все же каждый раз, когда просмотр списка фокусируется на первом элементе - person Dory; 03.01.2013

используйте notifyDataSetChanged() для обновления представления списка.

person Ravi    schedule 09.04.2013

Попробуйте также этот код

listview.requestLayout(); listview.setSelectionFromTop(listview.getLastVisiblePosition()-20,0);

Это делает выбор Listview из нижнего бокового элемента

person Pranita Patil    schedule 08.03.2013