0
レトロフィットエンキューメソッドを呼び出してレルムにデータを追加している間、My ProgressDialogが停止します。唯一の問題は、progressdialogサイクルが停止し、エラーがないことです。ここに私のコードです。私はハンドラを使用していますがレトロフィットでデータを取得中にデータを取得中にデータベースを追加するときにProgressDialogを表示
private void DownloadQuestions(final String chapterId){
final Call<Questions> questionCall = MainApi.createService(MainService.class).
getQuestionsByChapterId(chapterId);
Log.d("Package_Name", getApplicationContext().getPackageName());
pDialog = new SweetAlertDialog(this, SweetAlertDialog.PROGRESS_TYPE);
pDialog.getProgressHelper().setBarColor(Color.parseColor("#272E3E"));
pDialog.setTitleText("Downloading");
pDialog.show();
questionCall.enqueue(new Callback<Questions>() {
@Override
public void onResponse(Call<Questions> call, Response<Questions> response) {
questions.addAll(response.body().getQuestions());
for (Question ques : questions) {
realm.beginTransaction();
QuestionRealm questionRealm = realm.createObject(QuestionRealm.class);
questionRealm.setChapter_id(ques.getChapter_id());
questionRealm.setQuestion_type_id(ques.getQuestion_type_id());
questionRealm.setQuestion(ques.getQuestion());
questionRealm.setHint1(ques.getHint1());
questionRealm.setHint2(ques.getHint2());
questionRealm.setHint3(ques.getHint3());
questionRealm.setHint4(ques.getHint4());
questionRealm.setAnswer(ques.getAnswer());
questionRealm.setYear(ques.getYear());
realm.commitTransaction();
}
pDialog.dismissWithAnimation();
Toast.makeText(getApplicationContext(), " Questions downloaded", Toast.LENGTH_SHORT).show();
quesDownload.setVisibility(View.GONE);
chapCheckBox.setVisibility(View.VISIBLE);
}
@Override
public void onFailure(Call<Questions> call, Throwable t) {
}
});
}
質問の数が400を超えている、それは、ProgressDialogはまだサイクリングを停止し、すべてのデータがレルムに追加されたときに閉じています。私は何を解決する必要がありますか?前もって感謝します。