关于使用LoaderCallbacks自动更新数据

时间:2013-11-27 02:38:08

标签: android

我想知道,当输入Activity或Fragment时,是第一次从网络加载数据,如果没有连接到Internet或加载失败,加载本地数据,目前我用的是第一次通过getLoaderManager()。InitLoader(0,null,this);在onLoadFinished方法中。然后,去网络更新数据,但是我有一个问题,因为onLoadFinished会被多次调用,所以很多次网络会请求更新数据,我不知道是不是我的流量问题,或者我做错了,有人可以给我一些帮助或建议吗?谢谢..

    public void onLoadFinished(Loader<Cursor> cursorLoader, Cursor cursor) {
         mAdapter.swapCursor(cursor);
         fillDataFromNet();
    }

1 个答案:

答案 0 :(得分:1)

您可以将其与fillDataFromNet一起调用,而不是在onLoadFinished内调用initLoader。加载程序很可能在网络完成之前完成。然后数据将传递给加载器,onLoadFinished将再次触发。

fillDataFromNet();
getLoaderManager().initLoader(SOME_LOADER_ID, someArguments, this);