2017-06-26 3 views
-2

私はアンドロイドアプリケーションの1つでProgressDialogを使用しています。それは私に上記のタイトルの警告を表示します。私は以下のようにjavaで使用しました。これは重複した質問ではありません。私は解決策を探しましたが、それを見つけられませんでした。メソッドの呼び出し 'setGravity'はjava.lang.nullpointerexception-ProgressDialogを生成することがあります

mProgress = new ProgressDialog((this),R.style.AlertDialogTheme); 
    mProgress.setCancelable(false); 
    mProgress.getWindow().setGravity(Gravity.BOTTOM); 
    mProgress.getWindow().setBackgroundDrawable(new ColorDrawable(Color.WHITE)); 

誰でもこのエラーが発生する可能性がありますか、それともできませんか?どうすれば解決できますか?

+0

Hey!その同じ質問ではありません...それを確認してください –

+1

重力を設定する前にnullをチェックすることができますif(progressDialog.getWindow()!= null){mProgress.getWindow()。setGravity(Gravity.BOTTOM);} –

+1

これはダイアログがウィンドウにアタッチされていない場合、 'getWindow()'はnullを返します。 –

答えて

2

だけによる警告、

Window window = mProgress.getWindow(); 
    assert window != null; 
    window.setGravity(Gravity.BOTTOM); 
    window.setBackgroundDrawable(new ColorDrawable(Color.WHITE)); 

を主張するか、

Window window = mProgress.getWindow(); 
    if (window != null)  
     window.setGravity(Gravity.BOTTOM); 
     window.setBackgroundDrawable(new ColorDrawable(Color.WHITE)); 

そして、そのわずかのlint警告によってケースならば、あなたはそれを無視することができて、それをラップすることができます。

+0

ありがとう....それは解決しました:) –

+0

@MeenaSinghまた、Vlad Matvienkoからのコメントを考えてください。ウィンドウの可能性がありますヌルになります。 – Krish

関連する問題