2016-06-29 11 views
-1
私はnonactivityクラスに1 progressDialogを呼び出していますが、Androidアプリを実行すると、アプリケーションはこのエラー投げクラッシュさ

NullPointerExceptionが

java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources$Theme android.content.Context.getTheme()' on a null object reference

この私のコードを

private void showProgressDialogueArea() { 
    if (null == progressDialogForArea) { 
     initProgressDialogArea(); 
    } 
    try { 
     progressDialogForArea.show(); 
     progressDialogForArea.setContentView(R.layout.progress_dialog_custom); 
    } catch (Exception e) { 
     Utils.logExceptionCrashLytics(e); 
     Logger.logInfo("Exception", "Exception Occured"); 
    } 
    } 

    private void dissmisDialogueArea() { 
    if (progressDialogForArea != null && progressDialogForArea.isShowing()) { 
     try { 
     progressDialogForArea.dismiss(); 
     } catch (Exception e) { 
     Utils.logExceptionCrashLytics(e); 
     Logger.logInfo("Exception", "Exception Occured"); 
     } 
    } 
    } 

    private void initProgressDialogArea() { 
    progressDialogForArea = new ProgressDialog(context); 
    progressDialogForArea.setIndeterminate(true); 
    progressDialogForArea.setCancelable(false); 
    } 
+0

助けになると思います私はprogressDialogを表示したいが、その前にprogressDialogを隠さなければならない前に、jsonレスポンス用に1つのAPIを呼び出すだけです。 –

+0

いいえこれは自分のアクティビティではないアクティビティクラスですが、アクティビティ参照を渡すことはできますが、これはアクティビティクラスではありません。 –

+0

アクティビティからコンテキストを渡していますか? –

答えて

1

この間違った文脈が原因です。 コンストラクタにコンテキストを渡し、これを使用します。

たとえば

. 
. 
public void YourClass(Context c){ 
    this.c = c; 
} 

を、あなたはそれを呼び出すとき:

Context c = getContext(); //depend on where you use it 

YourClass yourObj = new YourClass(c); 
0

それを試してみて、私はそれが私がここに任意の非同期タスクを使用していない

progressDialogForArea = new ProgressDialog(context.getApplicationContext()); 
+0

もしあなたがどのようにコンテキストを渡して使用するかを示すべきではありません。 – Kush

+0

marketPlace =新しいMarketPlace(コンテキスト);コンテキストをmarketPlace =新しいMarketPlace(コンテキスト)に渡しているこの最初のクラス。他のMarketPlaceクラス –

+0

"Context context = getActivity();"のような使用前にコンテキストを初期化しましたか?もしそれが断片ならば – Kush