ProgressDialog onProgressUpdate 收到错误 "DecorView: mWindow.mActivityCurrentConfig is null"
ProgressDialog onProgressUpdate get error "DecorView: mWindow.mActivityCurrentConfig is null"
我的ProgressDialog
如下:
ProgressDialog loading;
在异步任务中:
@Override
protected void onPreExecute() {
super.onPreExecute();
if(loading!=null&&loading.isShowing())
loading.dismiss();
loading = new ProgressDialog(mContext);
loading.setCancelable(true);
loading.setIndeterminate(false);
loading.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
loading.setMax(100);
loading.setTitle("DownLoading: ");
loading.setMessage("Please Wait.... ");
loading.show();
}
@Override
protected void onProgressUpdate(final Integer... values) {
// super.onProgressUpdate(values);
String fileSize = "";
double m = (double) lengthOfFile / (1024 * 1024);
DecimalFormat dec = new DecimalFormat("0.00");
fileSize = dec.format(m);//.concat(" MB");
loading.setMessage("loading: " + fileSize + " MB");
loading.setProgress(values[0]);
}
@Override
protected Void doInBackground(String... strings) {
//(downloading code goes here .....)
publishProgress((int) ((total * 100) / lengthOfFile));
return null;
}
我的logcat:
E/DecorView: mWindow.mActivityCurrentConfig is null
E/DecorView: mWindow.mActivityCurrentConfig is null
I/chatty: uid=10293(com.alquran.tafhimul_quran) identical 1 line
E/DecorView: mWindow.mActivityCurrentConfig is null
D/ViewRootImpl@ec670c4[DownLoading: ]: ViewPostIme key 0
E/DecorView: mWindow.mActivityCurrentConfig is null
D/ViewRootImpl@ec670c4[DownLoading: ]: ViewPostIme key 1
D/ViewRootImpl@ec670c4[DownLoading: ]: dispatchDetachedFromWindow
W/InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
D/InputTransport: Input channel destroyed: '465d15 ', fd=136
D/ViewRootImpl@bc87539[_StartActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
D/InputMethodManager: prepareNavigationBarInfo() DecorView@27432[_StartActivity]
D/InputMethodManager: getNavigationBarColor() -855310
E/ViewRootImpl: sendUserActionEvent() mView returned.
那么,这里出了什么问题?我怎样才能摆脱 logcat 中的错误?
看到有人说可能是设备问题,可以忽略。我已经搜索了几个小时,此时只要该错误不会导致设备崩溃,您就可以忽略它
如 @Ditso K
所述,这只会在某些设备上发生。但是如果你仍然想从逻辑上去除错误,你可以试试这个:
// add a constructor in your Async Task
public YourAsyncTask(MyMainActivity activity) {
dialog = new ProgressDialog(activity);
}
您所要做的就是添加构造函数并为 ProgressDialog
提供 activity。这将消除错误。
我的ProgressDialog
如下:
ProgressDialog loading;
在异步任务中:
@Override
protected void onPreExecute() {
super.onPreExecute();
if(loading!=null&&loading.isShowing())
loading.dismiss();
loading = new ProgressDialog(mContext);
loading.setCancelable(true);
loading.setIndeterminate(false);
loading.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
loading.setMax(100);
loading.setTitle("DownLoading: ");
loading.setMessage("Please Wait.... ");
loading.show();
}
@Override
protected void onProgressUpdate(final Integer... values) {
// super.onProgressUpdate(values);
String fileSize = "";
double m = (double) lengthOfFile / (1024 * 1024);
DecimalFormat dec = new DecimalFormat("0.00");
fileSize = dec.format(m);//.concat(" MB");
loading.setMessage("loading: " + fileSize + " MB");
loading.setProgress(values[0]);
}
@Override
protected Void doInBackground(String... strings) {
//(downloading code goes here .....)
publishProgress((int) ((total * 100) / lengthOfFile));
return null;
}
我的logcat:
E/DecorView: mWindow.mActivityCurrentConfig is null
E/DecorView: mWindow.mActivityCurrentConfig is null
I/chatty: uid=10293(com.alquran.tafhimul_quran) identical 1 line
E/DecorView: mWindow.mActivityCurrentConfig is null
D/ViewRootImpl@ec670c4[DownLoading: ]: ViewPostIme key 0
E/DecorView: mWindow.mActivityCurrentConfig is null
D/ViewRootImpl@ec670c4[DownLoading: ]: ViewPostIme key 1
D/ViewRootImpl@ec670c4[DownLoading: ]: dispatchDetachedFromWindow
W/InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
D/InputTransport: Input channel destroyed: '465d15 ', fd=136
D/ViewRootImpl@bc87539[_StartActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
D/InputMethodManager: prepareNavigationBarInfo() DecorView@27432[_StartActivity]
D/InputMethodManager: getNavigationBarColor() -855310
E/ViewRootImpl: sendUserActionEvent() mView returned.
那么,这里出了什么问题?我怎样才能摆脱 logcat 中的错误?
看到有人说可能是设备问题,可以忽略。我已经搜索了几个小时,此时只要该错误不会导致设备崩溃,您就可以忽略它
如 @Ditso K
所述,这只会在某些设备上发生。但是如果你仍然想从逻辑上去除错误,你可以试试这个:
// add a constructor in your Async Task
public YourAsyncTask(MyMainActivity activity) {
dialog = new ProgressDialog(activity);
}
您所要做的就是添加构造函数并为 ProgressDialog
提供 activity。这将消除错误。