博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android setResut intent ==null?
阅读量:5924 次
发布时间:2019-06-19

本文共 946 字,大约阅读时间需要 3 分钟。

hot3.png

在activity A中startActivityForResult

activity  B中代码如下

@Override

protected void onPause() {

                super.onPause();

                Intent intent=new Intent();

                intent.putExtra("currentSelectPhotoPath",dstList.get(currentSelectItem));

               setResult(GroupPhotoListActivity.REQUSET_FROM_VIEWIMAGE, intent);

                 finish();

}

activity  A中,onActivityResult(int requestCode, int resultCode, Intent intent) 的intent总为null.

解决办法:

因为执行back键的时候,activity A很有可能已经start了,然后activity B 的onPause()还没执行,所以setResult并没有传入

所以将setResult在finish()中传入可以解决这个问题。

@Override

public void finish() {

             // TODO Auto-generated method stub

             Intent intent=new Intent();

             intent.putExtra("currentSelectPhotoPath",dstList.get(currentSelectItem));

          setResult(GroupPhotoListActivity.REQUSET_FROM_VIEWIMAGE, intent);

            super.finish();

}

也可以修改onBackpressed() 

参考如下链接:

http://stackoverflow.com/questions/10023969/result-not-set-in-onpause-using-setresult-when-pressing-the-back-button

转载于:https://my.oschina.net/adacoder/blog/367749

你可能感兴趣的文章
网络营销与电子商务
查看>>
可输入的模糊搜索ComBox控件
查看>>
MySQL 5.6为什么关闭元数据统计信息自动更新&统计信息收集源代码探索
查看>>
linux下oracle安装
查看>>
Linux 下mysql永久更改字符集
查看>>
我的友情链接
查看>>
apache prefork模式优化错误
查看>>
jmeter高级用法例子,如何扩展自定义函数
查看>>
lvs
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
JS页面刷新保持数据不丢失
查看>>
最浅显易懂的数据库索引讲解
查看>>
CentOS简介
查看>>
清橙A1202&Bzoj2201:彩色圆环
查看>>
使用data pump工具的准备
查看>>
eclipse快捷键大全
查看>>
springMVC---级联属性
查看>>
get和post区别
查看>>
模拟ssh, hashlib模块, struct模块, subprocess模块
查看>>
nil、Nil、NULL、NSNull的区别
查看>>