Я использовал адаптер списка для установки значений в listview. Значения загружаются из webservice api. Мне нужно, как обновить настроенное listview с помощью адаптера списка в android.Обновить Listadapter с пользовательским списком в Listfragment android
ответ
Есть два способа сделать это:
- Создать новый адаптер и установить его в ListView с
setAdapter
каждый раз при загрузке данных. - Повторное использование адаптера (через
setData
или аналогичные методы) и после этого вызываетnotifyDataSetChanged
, поэтому просмотр обновляется.
Вы должны использовать notifyDataSetChanged() от адаптера для того, чтобы сделать ваши потребности адаптера расширения BaseAdapter, поэтому каждый раз, когда вы изменяете некоторые данные называют,
instanceOfAdaper.notifyDataSetChanged()
ListAdapter adapter1 = новый SimpleAdapter ( \t \t getActivity(), entriesList1, R.layout.new_todo_single, новый String [] { \t \t "Идентификатор", "дата", "сообщение", "статус"}, новый int [] {R.id.todot_id, R.id.todo_date, R.id.todo_message, R.id.todo_status}); \t \t \t // setListAdapter (null); // Обновление списка \t \t \t setListAdapter (adapter1); –
это мой адаптер .. он находится в listfragment, поэтому нет метода notifydatasetchanged().im используя настраиваемое listview с ArrayList
Как я понимаю, вы хотите изменить обновление некоторых данных в своем списке в списке ?, так что вам нужно поймать позицию, что вам нужно изменить, манипулировать, а затем использовать adapter1 .notifyDataSetChanged(); – gmendes
Я думаю, вы должны быть используя метод AsyncTask для извлечения данных из WebService, просто переопределите этот метод и вызовите метод notifyDataSetChanged в onPostExecute, как это.
protected void onPostExecute(String result) {
adapter.notifyDataSetChanged();
}
для listadapter отсутствует метод notifydatasetchanged для обновления списка. –
'notifyDataSetChanged' находится в' ArrayAdapter'. Ваш адаптер расширяет его? –
any plz tel me как удалить все элементы из списка с настраиваемой компоновкой ??? –