2016-08-30 123 views
0

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

E/AndroidRuntime: FATAL EXCEPTION: main 
Process: com.example.perscitusSolutions.sherbet, PID: 2771 
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) 
进度对话框的

我的代码如下:

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任务,我其实叫

protected void onPreExecute() { 

      setUIToWait(true); 
     } 

我不知道什么是问题..它在棉花糖周五工作文件,但现在每次它给我一个错误,当我的应用程序运行和Android设备上的进度对话框服务调用..请s请仅在我的代码中使用我的任何解决方案。因为我已经尝试了所有的链接和他们的解决方案......

编辑:

如果我写下面的代码

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现在不显示..

+1

家伙不给投反对票。我真不明白为什么人们用来做这个...我想帮不投.... – Asmi

+0

放日志,电子内如果和其他人和创建进度对话框之前检查它是否解雇或不 – Steve

+0

你在这里_progressDialog.setContentView(新ProgressBar(LoginActivity.this)); _/ – Piyush

回答

1

添加检查空

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

我也试过你的代码..现在请检查我编辑的代码..它的工作文件,但不显示progressdialog现在.. – Asmi

1

使用此代码FO [R隐藏进度对话框:

else { 
if (dialog != null) { 
     if (dialog.isShowing()) { 
      Context context = ((ContextWrapper)dialog.getContext()).getBaseContext(); 
      if (context instanceof Activity) { 
       if (!((Activity) context).isFinishing()) 
        dialog.dismiss(); 
      } else 
       dialog.dismiss(); 
     } 
     dialog = null; 
    } 
} 
+0

我添加了你的代码,但仍然错误来..请检查我现在编辑的代码..它的工作文件,但不显示progressdialog现在.. – Asmi

+0

什么确切的错误来了? –

+0

相同的上述错误..但如果我检查ProgressDialog == null然后工作文件,但没有显示ProgressDialog只有它运行并开始另一个活动..请参阅我的编辑..现在工作正常..但为什么progressDialog没有显示 – Asmi