2 qq 30089721 qq_30089721 于 2016.01.18 17:07 提问

关于非activity启动activity怎么返回数据

我现在做一个二维码扫描功能,这个功能是在一个AlertDialog里的一个button点击启动,而这个AlertDialog是在一个adapter里,所以无法调用startActivityForResult();这个方法。求大神指导 我应该在AlertDialog里怎么把二维码扫描功能写好。点击启动二维码功能必须在AlertDialog里。

谢谢各位大神了!!!

12个回答

u010539561
u010539561   2016.01.18 17:28

1、在Adapter中也是可以调用startActivityForResult()方法的,在构造方法中传入一个context,context调用startActivityForResult()方法,然后在context的Activity中执行onActivityResult()方法

menglele1314
menglele1314   2016.01.18 17:35

这种实现方法太多了,比如静态,activity的对话框模式,文件存储等等

91program
91program   Ds   Rxr 2016.01.18 17:13
u011665766
u011665766   2016.01.18 17:33

你可以自定义一个接口,然后回调,就能拿到数据了。

lxk_1993
lxk_1993   Rxr 2016.01.19 08:42

楼上说的都对 看你自己怎么选择

qq_30089721
qq_30089721   2016.01.19 08:54

在adapter里不能调用startActivityForResult()呀 我这个adapter是两个activity共用的

qq_30089721
qq_30089721   2016.01.19 08:56

只能调用context.starActivity()

qq_30089721
qq_30089721   2016.01.19 09:50

![图片说明](http://img.ask.csdn.net/upload/201601/19/1453168234_871830.png)图片说明

qq_30089721
qq_30089721   2016.01.19 09:51

图片说明

qq_30089721
qq_30089721   2016.01.19 09:51

图片说明

共12条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!