我现在做一个二维码扫描功能,这个功能是在一个AlertDialog里的一个button点击启动,而这个AlertDialog是在一个adapter里,所以无法调用startActivityForResult();这个方法。求大神指导 我应该在AlertDialog里怎么把二维码扫描功能写好。点击启动二维码功能必须在AlertDialog里。
谢谢各位大神了!!!
1、在Adapter中也是可以调用startActivityForResult()方法的,在构造方法中传入一个context,context调用startActivityForResult()方法,然后在context的Activity中执行onActivityResult()方法
你可以自定义一个接口,然后回调,就能拿到数据了。
这种实现方法太多了,比如静态,activity的对话框模式,文件存储等等
在adapter里不能调用startActivityForResult()呀 我这个adapter是两个activity共用的
只能调用context.starActivity()
现在的情况是 我执行startActivityForResult()后,还没返回结果就执行了String verifydCode = PreferenceUtil.getString("verifydCode"); System.out.println("verifydCode======"+verifydCode); 这两名代码
我要先返回结果再执行下面两名
可以用广播,上面也说了很多实现方法。
你说是两个activity共用这个dialog,其实也可以通过 activity instanceof Aactivity 这样的做法来给requestcode不同的值,以此来判断是哪个activity跳转过去的