E/JavaBinder:FAILED BINDER TRANSACTION错误解决+RadioGroup调用check方法的时候,onCheckedChanged被调用多次的问题解决

1.错误:E/JavaBinder﹕ !!! FAILED BINDER TRANSACTION !!!

解决:Intent传递数据问题,因为Intent传递数据有限制,据说最大为1M左右,今天试着进行了传递一个好几兆的byte[]数组,结果就报了这个错误。后来我就设置了一个全局变量,得到这个数据后,就去进行赋值。


2.错误:主界面有4个界面:商品、消息、朋友圈、个人信息,这是一个RadioGroup中放着的4个radioButton,4个按钮各有一个selector,点击按钮就有颜色改变。如果用户没有登录,在点击消息时,会跳到登录界面;在登录界面,如果正确进行了登录,就返回消息界面,否则,返回点击消息之前的那个界面。

设计思想:在主界面的onActivityForResult方法中进行区别是否登录,如果成功登录,就选择消息这个单选按钮,否则,就选择当前按钮,刚开始用的是RadioGroup的check()方法,结果发现,会启动两次登录界面~~~~(>_<)~~~~

原因:RadioGroup的check方法会多次调用设置了setOnCheckedChangeListener()监听的onChekedChanged这个方法,导致点击一次,会执行两次的效果。

解决:吧onActivityForResult方法中的RadioGroup.check的方法,化成RadioButton.setCheck().可以看这里


你可能感兴趣的:(android开发错误)