AlertDialog не отображается на экране - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь создать диалоговое окно загрузки с помощью AlertDialog внутри вызова Retrofit, однако это диалоговое окно загрузки не отображается вообще. Я хочу показать это во время загрузки вызова и настройки recyclerView. Прямо сейчас диалоговое окно вообще не отображается, оно устанавливает recyclerView и все остальное, не показывая диалоговое окно. Я не уверен, имеет ли это значение, но это внутри фрагмента.

Это полный вызов модернизации

Call<List<Evaluator>> call = apiInterface.getSurveys();

call.enqueue(new Callback<List<Evaluator>>() {
    @Override
    public void onResponse(Call<List<Evaluator>> call, Response<List<Evaluator>> response) {
        if (!response.isSuccessful()) {
            //show error toast
        }

        AlertDialog.Builder builder = new AlertDialog.Builder(activity);
        builder.setCancelable(true);
        LayoutInflater inflater = getLayoutInflater();
        inflater.inflate(R.layout.dialog_loading, null);

        AlertDialog dialog = builder.create();
        dialog.show();

        List<Evaluator> masterItem = response.body();

        masterItem.forEach(evaluator -> {
            if (!evaluator.getAnswered()) {
                surveys.add(new Evaluator(evaluator));
            }
        });

        mAdapter = new SurveyAdapter(surveys);
        mRecyclerView.setAdapter(mAdapter);

        dialog.dismiss();
    }

    @Override
    public void onFailure(Call<List<Evaluator>> call, Throwable t) {
        //show error toast
    }
});

1 Ответ

1 голос
/ 27 апреля 2020

позвоните dialog.show(), прежде чем звонить на модернизацию call.enqueue. А внутренний ответ или неудача закрывают диалог.

И не забывайте закрывать диалог как в onResponse, так и в onFailure.

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