compoundbutton调用setChecked触发onCheckedChanged的终极解决方案;
生活随笔
收集整理的這篇文章主要介紹了
compoundbutton调用setChecked触发onCheckedChanged的终极解决方案;
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
當(dāng)我們想要實現(xiàn)了一個簡單的有狀態(tài)切換的控件的時候,我們通常會去實現(xiàn),CompoundButton來實現(xiàn)我們想要的一個效果,最常見的就是系統(tǒng)的CheckBox,但是在使用的過程中,我們會發(fā)現(xiàn)一個問題就是:我們在使用SetChecked的時候,總是會觸發(fā),onCheckedChanged這個回掉方法;
那么怎么樣才能做到不觸發(fā)這個回掉方法呢?
首先我們需要知道為什么會觸發(fā)這個方法;查看源碼如下:
我們發(fā)現(xiàn)一個問題就是:只要我們設(shè)置了監(jiān)聽器,是會始終觸發(fā)onCheckedChanged里面的回掉方法的,所以這里我們在調(diào)用SetChecked的時候不想觸發(fā)OnCheckedChanged里面的方法的時候,我們在調(diào)用之前將這個監(jiān)聽器設(shè)置為空,掉用結(jié)束后,再次設(shè)置監(jiān)聽器;
具體如下:
這樣的話,就完美解決了,setChecked觸發(fā)了onCheckedChanged里面的監(jiān)聽的方法;
總結(jié)
以上是生活随笔為你收集整理的compoundbutton调用setChecked触发onCheckedChanged的终极解决方案;的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 超级灰色按钮克星更新v1.3.1112.
- 下一篇: flash图片如何镜像翻转_FLASH