0

AsyncTask を使用して listView を満たすデータを取得しています。リストビューのアダプターを変更しています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()んでした。

4

1 に答える 1

0

リストを変更し、listViewを無効にすることで、これを行うことができました。

最初にアダプターを listView に設定します。

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

リストを更新する必要があるときはいつでも、次のように objList に変更を加え、listView に対して invalidate を呼び出すだけです。

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

それは私のために働いた。

于 2013-03-21T11:42:10.730 に答える