我正在尝试在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
}
});发布于 2020-04-28 01:07:59
在调用retrofit call.enqueue之前调用dialog.show()。并且内部响应或失败将关闭该对话。
别忘了关闭onResponse和onFailure中的对话框。
https://stackoverflow.com/questions/61464318
复制相似问题