onActivityResult()和setResult()的调用时机
业务上需求
在Activity_A中开启 Activity_B,并在Activity_B关闭的时候,将Activity_B中用户编辑的数据反馈给Activity_A。
实现方法
在Activity_A中通过 startActivityForResult()
开启Activity_B,并在Activity_B中调用setResult()
.
问题
运行程序结果发现直接报空指针异常,怎么可能?我调用的函数没有问题啊?
分析
根据异常日志,详细分析错误的那一行,发现只有data有空指针的可能,也就是说调用onActivityResult()的时候,data并没有初始化值,继续倒着分析,data在哪里应该在哪里初始化呢?没错,就是Activity_B中的setResult()方法。问题分析到这,已经快看到本质了,归根结底就是Activity_B中的setResult()在Activity_A中的on