2012-01-14 14 views
0

編集:呼び出されたアクティビティオブジェクトにstartActivityForResultを呼び出すのではなく、呼び出し元のコンテキストから呼び出します。startActivityForResultを試行中にNullPointerExceptionが発生しました。

これは私のコード、最後の行には例外です:

107 Intent intent = new Intent(CallingActivity.this, CalledActivity.class); 
108 CalledActivity calledActivity = new CalledActivity(); 
109 calledActivity.startActivityForResult(intent, CALLED_ACTIVITY_CODE); 

インサイドCallingActivity:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Log.i(SR.tag,"req=" + requestCode + " res=" + resultCode); //Never getting here 
} 

マニフェストファイルの抜粋:

<activity android:name=".ui.CallingActivity" 
      android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
<activity android:name=".ui.CalledActivity"></activity> 

が例外:

01-14 11:30:14.850: ERROR/AndroidRuntime(1036): FATAL EXCEPTION: main 
01-14 11:30:14.850: ERROR/AndroidRuntime(1036): java.lang.NullPointerException 
01-14 11:30:14.850: ERROR/AndroidRuntime(1036):  at android.app.Activity.startActivityForResult(Activity.java:2833) 
01-14 11:30:14.850: ERROR/AndroidRuntime(1036):  at com.litvin.app.ui.CallingActivity.onSharedPreferenceChanged(CallingActivity.java:109 ) 
... 

ホームフィルタとランチャインテントフィルタを.ui.CalledActivityに移動すると、正常に動作します。アイコンを押すと、CalledActivityが開始されます。

私はここで多くの同様の答えを見てきましたが、誰も私のために働いていませんでした。

答えて

1

//この

intent.startActivityForResult(intent, CALLED_ACTIVITY_CODE); 
+1

だから、血まみれの、シンプルでありながら多くの時間無駄に..感謝:) –

+0

あなたのコードを実行すること

CalledActivity calledActivity = new CalledActivity(); //comment this line 

//のための任意のオブジェクトを作成する必要はありません"メソッドstartActivityForResult(Intent、int)は、インテントタイプ" –

1
 Intent intent = new Intent(CallingActivity.this, CalledActivity.class); 
     startActivityForResult(intent, CALLED_ACTIVITY_CODE); 
+0

のために定義されていません。実際には、インテントオブジェクトではなく呼び出し元のコンテキストで呼び出される必要があります。 –

関連する問題