AsyncTask и CursorLoader [Android]
Мой AsyncTask
для получения данных является длинным, и в то же время, в процессе создания моего recyclerview
Я хотел проверить, если cursorloader
был в состоянии правильно запросить у моего контент-провайдера.
Потерпите меня здесь, я использовал обратные вызовы Loader interface
а также onLoadFinished
чтобы получить результаты. Так как asynctask
все еще работает, загрузчик все еще вызывает провайдера контента, так как он обновляется до asynctask
заканчивается. Я бы кроме этого, так как onLoadFinished
в первую очередь касается заполнения содержимого adapter
с данными курсора, что я не должен беспокоиться, что он печатает операторы журнала одновременно как asynctask
продолжает бежать, но я хотел подтвердить.
Я намерен в конечном итоге переместить это asynctask
в intentservice
который вызывается только через broadcast
,
1 ответ
Ты можешь позвонить getLoaderManager().restartLoader(URL_LOADER, null, HomeFragment.this);
перезапустить загрузчик на вас методом AsyncTask onPostExecute. Вам нужно сначала запустить загрузчик на себя onCreate()
метод.
Таким образом, загрузчик обновится с той же проекцией, что и при запуске, и получит результаты операций AsyncTask из БД.