Android4.0中添加了一个组合控件的概念,switch便是其中一个,其他的可以百度。
用法和2.3的checkbox差不多,通过ischecked()获取当前是否选中,setchecked()设置当前选中情况
其中通过onCheckedChanged()函数检测设置状态信息的,该事件为设置之后被发起的,其中参数一为设置后的switch,参数二为设置后的状态
(具体使用可以参考谷歌文档)
主要是讲实现switch的状态不可改变方法:
本人第一次使用方法为,在事件中直接再次设置,测试失败,部分代码如下:
onCheckedChanged(buttonview, ischecked){
if(ischecked == false)
buttonview.setChecked(false);//强制状态为false
}
失败原因揣摩为内部重复调用该函数了。
后更改通过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-)