简体   繁体   English

ProgressDialog onProgressUpdate 得到错误“DecorView:mWindow.mActivityCurrentConfig 为空”

[英]ProgressDialog onProgressUpdate get error "DecorView: mWindow.mActivityCurrentConfig is null"

My ProgressDialog is as follows:我的ProgressDialog如下:

ProgressDialog loading;

in AsyncTask:在异步任务中:

       @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;
        }

My 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.

So, what is wrong here?那么,这里有什么问题? How can I get rid from the error in logcat?如何摆脱 logcat 中的错误?

I saw someone say it might be the device issue and you can ignore it.我看到有人说这可能是设备问题,您可以忽略它。 I have been searching for hours and at this point as long as the error does not crash the device you can ignore it我已经搜索了几个小时,此时只要错误不会使设备崩溃,您就可以忽略它

As mentioned by @Ditso K , this will occur only on some devices.正如@Ditso K所提到的,这只会在某些设备上发生。 But if you still want to remove the error from the logical, you can try this:但是如果你仍然想从逻辑中删除错误,你可以试试这个:

// add a constructor in your Async Task
public YourAsyncTask(MyMainActivity activity) {
    dialog = new ProgressDialog(activity);
}

All you have to do is to add the constructor and provide the activity for the ProgressDialog .您所要做的就是添加构造函数并为ProgressDialog提供活动。 This will remove the error.这将消除错误。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM