我有一个可以在设备上加载图像的类。这是我活动的一个例子:
public class MediaListActivity extends AppCompatActivity implements LoaderCallbacks<Cursor> {
private ProgressDialog progressDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
progressDialog.show();
getSupportLoaderManager().initLoader(1, null, this);
}
@Override
public android.support.v4.content.Loader<Cursor> onCreateLoader(int id, Bundle args) {
CursorLoader cursorLoader = new CursorLoader(this, MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
return cursorLoader;
}
@Override
public void onLoadFinished(android.support.v4.content.Loader<Cursor> loader, Cursor cursor) {
progressDialog.dismiss();
}
}
当然,我无法将progressDialog.show()
放在onCreate()
方法中,因为如果ContentObserver
在MediaStore.Images.Media.EXTERNAL_CONTENT_URI
找到了更改且Cursor
是重新加载方法progressDialog.show()
将不会被调用。
我该如何解决这个问题?
提前谢谢
答案 0 :(得分:0)
尝试在onLoaderReset()回调中显示对话框。尽管每次都可能没有调用onCreateLoader()因为加载器可能已经被创建,所以在重新启动加载器的任何时候都会调用它。