在片段(Fragment)中的 CursorLoader 中显示进度对话框,可以通过以下步骤实现:
private void showProgressDialog() {
if (mProgressDialog == null) {
mProgressDialog = new ProgressDialog(getActivity());
mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(true);
}
mProgressDialog.show();
}
private void hideProgressDialog() {
if (mProgressDialog != null && mProgressDialog.isShowing()) {
mProgressDialog.dismiss();
}
}
onCreateLoader
方法中创建 CursorLoader 对象,并在 onLoadFinished
方法中处理加载完成后的逻辑。@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
showProgressDialog();
return new CursorLoader(getActivity(),
YourContentProvider.CONTENT_URI,
null,
null,
null,
null);
}
@Override
public void onLoadFinished(Loader<Cursor> loader, Cursor data) {
// 处理加载完成后的逻辑
hideProgressDialog();
}
@Override
public void onLoaderReset(Loader<Cursor> loader) {
// 处理重置加载器的逻辑
}
onActivityCreated
方法中启动 CursorLoader。@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
getLoaderManager().initLoader(0, null, this);
}
通过以上步骤,在片段(Fragment)中的 CursorLoader 中显示进度对话框,可以实现在加载数据时向用户展示一个进度指示器,提高用户体验。
领取专属 10元无门槛券
手把手带您无忧上云