Как запустить асинхронную задачу внутри одного фрагмента (когда фрагмент все еще невидим) и сохранить значения - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть две асинхронные задачи во фрагменте, назовем 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 Ответ

1 голос
/ 17 апреля 2019

Я советую вам работать с fragment внутри viewpager, что позволяет вам загружать fragment данные, не будучи видимыми

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...