/ / Як перетворити перегляди на onPostExecute () - android, android-listview, android-asynctask

Як перефарбувати перегляди на onPostExecute () - android, android-listview, android-asynctask

Я отримую дані для заповнення мого списку перегляду за допомогою AsyncTask. Мені потрібно змінити адаптер для списку перегляду в onPostExecute()

protected void onPostExecute(ArrayList<JSONObject> result) {

MarkersListAdapter adapter = (MarkersListAdapter) this.markersList.getAdapter();

adapter.clear();
adapter.addAll(result);

this.markersList.setAdapter(adapter);

то я хочу внести деякі зміни в нові перегляди, але після перегляду програми з ListView з'являються нові представлення onPostExecute(). Я хочу змусити андроїд заповнити свій список переглядів, коли він з'явиться onPostExecute(). Я спробував notifyDatasetChanged() для адаптера і invalidate() для перегляду списку, але ніхто не працював.

Відповіді:

0 для відповіді № 1

Мені вдалося це зробити, змінивши список і припустивши недійсний список listview.

Спочатку встановіть адаптер на списокView.

listView.setAdapter(new MyListAdapter(getActivity(), R.layout.list_cell_layout, objList));

Кожного разу, коли вам потрібно оновити список, просто внесіть зміни до objList і дзвоніть в список listview, як це:

objList.remove(1);
listView.invalidateViews();

Він працював для мене.