2012-01-16 17 views
0

最初のアクティビティが結果の2番目のアクティビティ(startActivityForResult(intent,SELECT_FILE);)を呼び出すアプリケーションを作成していますが、エミュレータの戻るボタンを押した場合に2番目のアクティビティになります。エミュレータの戻るボタンを押したときの例外

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=0, data=null} to activity {com.upload/com.upload.FileUploadActivity}: java.lang.NullPointerException

私は何をすればよいですか?

あなたがstartActivityForResultを使用して新しい活動を開始すると新しい活動が終了したときにThankx

+0

結果を設定するFileUploadActivityのコードを貼り付けます –

答えて

0

結果が期待されています。通常、新しいアクティビティは終了し、結果はfinish()メソッドで定義されます。

私が起こっていることは、新しいアクティビティで戻るボタンのプレスを処理しないことで、結果が生成されないということです。その後、 'onActivityResult()is called in the old activity there is no activity to process and you are getting the NullPointerException`が発生しました。

この2つの方法のいずれかを解決できます。

新しいアクティビティでは、戻るボタンを押して、押したときにfinish()を呼び出して結果を設定します。または、古いアクティビティで結果が有効であり、ヌルでないことを確認してください(実際にこれを行う必要があります)