2013-11-27 2 views
0

Я хочу понять, что при вводе Activity или Fragment в первый раз загружаются данные из сети, если они не подключены к Интернету или не загружаются, для загрузки локальных данных, в настоящее время я использовал это первое через getLoaderManager() .InitLoader (0, null, this); в методе onLoadFinished. Затем перейдите в сеть, чтобы обновить данные, но у меня есть проблема, потому что onLoadFinished будет вызываться много раз, поэтому много раз в сеть будет запрашиваться обновление данных, я не знаю, не моя проблема с потоком, или я неправду, кто-то, кто может мне помочь или совет? Спасибо ..Сведения об автоматическом обновлении с использованием LoaderCallbacks

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

ответ

1

Вместо вызова fillDataFromNet внутри onLoadFinished, вы можете вызвать его вместе с initLoader. Вполне вероятно, что загрузчик завершит работу до завершения работы сети. Затем данные передаются на загрузчик, и onLoadFinished будет запущен снова.

fillDataFromNet(); 
getLoaderManager().initLoader(SOME_LOADER_ID, someArguments, this); 
Смежные вопросы