#android #android-asynctask
#Android #android-asynctask
Вопрос:
У меня есть две асинхронные задачи, запущенные во фрагменте, давайте вызовем F1.
Фрагменту требуется 4/5 секунд, чтобы загрузить данные, когда они видны (я поместил туда индикатор выполнения)
чего я хочу добиться, так это:
чтобы запустить эту асинхронную задачу во фрагменте, как только я открываю приложение (загружает другой фрагмент), чтобы мне не приходилось показывать индикатор выполнения при открытии этого конкретного фрагмента (F1), и сохранять данные до тех пор, пока (i) не будет нажата кнопка обновления или (ii) приложение не будет запущено.закрыт / перезапущен.
Я попытался поместить execute() асинхронной задачи внутри метода и попытаться вызвать метод из моего основного фрагмента. Но я получаю сообщение об ошибке, потому что к моему методу post execute прикреплено некоторое представление.
protected void onPostExecute(String s) {
super.onPostExecute(s);
recyclerView.getItemAnimator().setChangeDuration(0);
recyclerView.setNestedScrollingEnabled(false);
recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), mNoOfColumns));
adapterDod=new AdapterDotd(getActivity(),data);
adapterDod.notifyDataSetChanged();
if(AsyncTaskCount == AsyncTaskRequested) {
lottieAnimationView.setVisibility(View.GONE);
}
recyclerView.invalidate();
recyclerView.setAdapter(adapterDod);
}
Ответ №1:
я советую вам работать с fragment
inside viewpager
, что позволяет загружать ваши fragment
данные, не будучи видимыми
Комментарии:
1. Я использую его. Спасибо за совет.