Android出现对话框错误怎么解决? [英] Android progrees dialog error how to solve this?

查看:205
本文介绍了Android出现对话框错误怎么解决?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在如下的棉花糖设备上出现错误:但是在棉花糖OS进度对话框下面工作正常. 错误如下:

I got an error on marshmallow device like below: but below marshmallow OS progress dialog working fine. Error As follow:

E/AndroidRuntime: FATAL EXCEPTION: main
 java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
  at com.android.internal.app.AlertController.setupView(AlertController.java:489)
 at com.android.internal.app.AlertController.installContent(AlertController.java:234)
 at android.app.AlertDialog.onCreate(AlertDialog.java:423)
at android.app.ProgressDialog.onCreate(ProgressDialog.java:198)
at android.app.Dialog.dispatchOnCreate(Dialog.java:394)
at android.app.Dialog.show(Dialog.java:295)

我的进度代码"对话框如下:

My Code of progress dialog is as below:

 private void setUIToWait(boolean wait) {

        if (wait) {
            progressDialog=new ProgressDialog(LoginActivity.this);
            progressDialog.setCancelable(false);
            progressDialog.setCanceledOnTouchOutside(false);
            progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
            progressDialog.show();
            progressDialog.setContentView(new ProgressBar(LoginActivity.this));

        } else {
            progressDialog.dismiss();
        }

    }

我在上面的代码和我实际调用的asynk任务中出错了

and I got error in above code and my asynk task where I Actually call

 protected void onPreExecute() {

            setUIToWait(true);
        }

我不知道这是什么问题..它可以在棉花糖上运行直到周五,但是现在每次当我的应用程序运行并在android设备中通过进度对话框进行服务调用时,它给我一个错误..请建议我任何解决方案仅在我的代码中.因为我已经尝试了所有链接及其解决方案...

I don't know What is the problem.. It works file till fri on marshmallow but now every time it gives me an error when my app runs and service call with progress dialog in android device.. please suggest me any solution in my code only. Because I already tried all links and their solutions...

如果我写下面的代码

 private void setUIToWait(boolean wait) {

                if (wait) {
if(progressDialog==null){
                    progressDialog=new ProgressDialog(LoginActivity.this);
                    progressDialog.setCancelable(false);
                    progressDialog.setCanceledOnTouchOutside(false);
                    progressDialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
                    progressDialog.show();
                    progressDialog.setContentView(new ProgressBar(LoginActivity.this));
        }
                } else {
                    progressDialog.dismiss();
                }

            }

然后它将不显示任何错误并成功执行,但现在不显示ProgressDialog.

then It will not showing any error and execute successfully but ProgressDialog is not shown now..

推荐答案

添加空值检查

else {
           if( progressDialog != null) 
            progressDialog.dismiss();
        }

这篇关于Android出现对话框错误怎么解决?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆