关于Android4.0中switch控件小感

本文详细解析了Android 4.0中switch控件的用法,包括其与checkbox的相似之处、如何通过ischecked()获取当前状态、setchecked()设置状态,以及如何通过onCheckedChanged()函数检测设置状态信息。重点讨论了实现switch状态不可改变的方法,通过使用handler异步更新UI来解决内部重复调用事件导致的问题。

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

  菊子曰:专业的 博客管理软件

转载于:https://my.oschina.net/boolearner/blog/84677

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值