Android4.0中添加了一個組合控件的概念,switch即是其中一個,其餘的能夠百度。php
用法和2.3的checkbox差很少,經過ischecked()獲取當前是否選中,setchecked()設置當前選中狀況web
其中經過onCheckedChanged()函數檢測設置狀態信息的,該事件爲設置以後被髮起的,其中參數一爲設置後的switch,參數二爲設置後的狀態異步
(具體使用能夠參考谷歌文檔)函數
主要是講實現switch的狀態不可改變方法:測試
本人第一次使用方法爲,在事件中直接再次設置,測試失敗,部分代碼以下:事件
onCheckedChanged(buttonview, ischecked){文檔
if(ischecked == false)get
buttonview.setChecked(false);//強制狀態爲false博客
}it
失敗緣由揣摩爲內部重複調用該函數了。
後更改經過handler異步更新UI,部分代碼以下:
onCheckedChanged(buttonview, ischecked){
if(ischecked == false){
new Handler(){
public void processMessage(){
mSwitch.setChecked(false);//假設監聽的switch名字爲mSwitch
}
}.sendMessage(new Message());
}
}
測試結果成功,不管拖動打開仍是點擊打開,都不能將狀態置爲True。
(iwangyue.cn //不二生原創 -v-)