我正在尝试在Retrofit调用中使用AlertDialog创建一个加载对话框,但是此加载对话框根本没有显示。我想在呼叫下载和设置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
}
});
答案 0 :(得分:1)
致电dialog.show()
,然后再致电改造call.enqueue
。并且内部响应或失败会关闭对话框。
也不要忘记关闭onResponse
和onFailure
中的对话框。