【发布时间】:2018-10-15 06:27:47
【问题描述】:
我使用 MVP。我在视图中显示和关闭进度对话框,并在演示者中从 firebase/firestore 检索数据,使用回调将数据传递给视图。
但加载数据时,进度对话框在 UI 中冻结。 从 firebase/firestore 获取数据时,有什么方法可以让进度对话框保持旋转?
在视图中显示对话框:
progressDialog = Utils.showProgressDialog(getContext(), getString(R.string.progress_msg_loading));
menuListPresenter.getMenuList(currentStore.getId());
在presenter中加载数据:
@Override
public void getMenuList(String companyId) {
this.companyId = companyId;
if (Utils.isNullOrEmpty(companyId)) {
view.onError(Constants.EMPTY_FIRESTORE_RESULT);
} else {
DocSnippets.getInstance().listenProductStatus(companyId, this);
}
}
传递数据以在演示者中查看:
@Override
public void onProductStatusChanged(ArrayList<Product> products) {
if (products != null && products.size() > 0) {
view.menuOnChanged(products);
}
}
关闭视图中的对话框:
@Override
public void menuOnChanged(ArrayList<Product> products) {
if (progressDialog != null && progressDialog.isShowing()) progressDialog.dismiss();
// other code
}
【问题讨论】:
-
请添加您的代码以期待您的问题得到解答。
-
在另一个线程中加载数据
-
@PradyumanDixit 我添加了我的代码
-
@kate 你用的是什么适配器?
-
@AlexMamo ArrayAdapter
,我使用se.emilsjolander.stickylistheaders.ExpandableStickyListHeadersListView这个库,所以适配器实现了StickyListHeadersAdapter
标签: android firebase google-cloud-firestore progressdialog