1. 程式人生 > >E/JavaBinder:FAILED BINDER TRANSACTION錯誤解決+RadioGroup呼叫check方法的時候,onCheckedChanged被呼叫多次的問題解決

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().

可以看這裡