我正在创建一个应用程序,其中第一个活动调用结果的第二个活动,即startActivityForResult(intent,SELECT_FILE);
,但是当我按下我的模拟器的后退按钮时,它会转到第二个活动,它会引发异常:
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
我该怎么做..?
Thankx
答案 0 :(得分:0)
当您使用startActivityForResult
开始新活动时,预计新活动结束时会产生结果。通常,新活动结束,结果在finish()
方法中定义。
我怀疑发生的事情是你没有在新活动中处理后退按钮,因此不会产生任何结果。然后当'onActivityResult()is called in the old activity there is no activity to process and you are getting the
NullPointerException`时。
您可以通过以下两种方式解决此问题。
在新活动中按下后退按钮,按下后按住finish()
设置结果。或者在旧活动中检查结果以确保它是有效的并且不为空(无论如何你应该真的这样做)