android获得上一个activity的返回值来设定当前按钮的可按性

每次想去转载别人的文章就不用自己写了,好想这样省事,但是路途就是那么的艰辛,每次看别人的博客然后自己做时会遇到各种各样的问题,人家的博客就那么几个步骤,然而我照着做时就会遇到奇葩问题,,哎,现在想起了曲婉婷的一首歌《没有什么不同》的歌词尽管痛的苦的没说的,但哪有一路走来都是顺风的,只要为了梦想不服输,再苦也不停止脚步。还是自己总结一下把!!


首先我为以前做都的项目的app新增加了个按钮,要求这个按钮在没获得上一个activity返回过来的值前不能按,这样我就找到了方法,就是使用startActivityForResult方法来获取上一个页面的返回值,然后将这个值赋值给变量中,在页面中设置switch判断这个变量的值,以此来给按钮的可按性进行设置,同时可以设置其他的内容。


关于startActivityForResult的讲解我就不写啦,参考一下别人的,感觉写的不错,这是链接地址 http://www.cnblogs.com/lijunamneg/archive/2013/02/05/2892616.html



实现过程中遇到的问题:

(1)当前页面不能获得上一个页面的返回值,得到的data一直报错,说是null,每次在startActivityForResult否就开始调用了回调方法,得到的intent为null,然后才进入跳转的页面,这让我头疼了,于是我在各个地方加了Log看输出,无奈上网找解决办法,终于找到了方法:

例如:Activity1 中有onActivityResult 方法 ,在Activity2 中有setResult  方法 ,Activity2 关闭后 应该触发Activity1的 onActivityResult 的方法的,但是我manifest 文件中activity2的android:launchMode="singleTask" ,使Activity变成单例模式 ,然后Activity1的onActivityResult 就无法触发了。把android:launchMode="singleTask" 改成android:launchMode="singleTop" 就可以了 。 


然后就终于可以了!!好艰难。

(2)在设置按钮的可点击性时也遇到了困难,先找到控件,然后setClickable(false),发现没用。。。。后来上网找方法发现写在了setOnClickListener前面,这就使得前面的设置无效了,因为在setOnClickListener中有一段代码

    if (!isClickable()) {  
               setClickable(true);  
    }  

然后改到后面就好了。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值