我使用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);
}
}