刷新ListFragment数据

时间:2012-02-15 12:05:03

标签: android

我使用supportApi来降低版本。我有一个listFragment和一个asynchAdapter,它从web加载后台数据。问题是如果在后台更改数据我不能使listFragment刷新并显示新数据。我有一个扩展baseAdapter的customListAdapter,我在ListFragment中调用setlistadapter(customListAdapter)。我需要一些实现类似这样的东西的例子,而不是cursorAdapter或simpleArrayAdapter。

我唯一的问题是我不知道如何刷新listFragment,因为onResume没有被调用,也不确定notifydatasetchange是否可以在listfragment上运行。我的一些代码如下。

onLoadFinish在初始化loader时只调用一次。 onresume也只被调用一次。可能是我的做法错了但是我不确定。

public class MyListFragment extends ListFragment implements LoaderManager.LoaderCallbacks<ArrayList<MyData>> {

    private ArrayList<MyData> mydata;
    private CustomListAdapter adapter;

    @Override public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        this.adapter = new CustomListAdapter(this.getActivity(), mydata);

        setListAdapter(this.adapter);
        getLoaderManager().initLoader(0, null, this);
    }

    @Override
    public void onLoadFinished(Loader<ArrayList<MyData>> Loader, ArrayList<MyData> mydata) {
        this.adapter.setData(mydata);
    }
}

0 个答案:

没有答案