为了账号安全,请及时绑定邮箱和手机立即绑定

有关ToggleButton的onCheckedChanged

下面的void onCheckedChanged(CompoundButton buttonView,  boolean isChecked) 是怎么跟上面的ToggleButton tb绑定的,为什么点击tb就会自动执行下面的方法。 那如果一个layout里面有多个ToggleButton,并且分别有不同的对应事件应该怎么办?写多个onCheckedChanged方法? 安卓API是这样解释buttonView,但仍不是很明白,如能解答,万分感谢

 buttonView - The compound button view whose state has changed.

正在回答

3 回答

第一个问题,监听器是怎么跟tb绑定的:监听器是直接通过set设置给tb的;

如果有多个ToggleButton的并对应不同的对应时间的话,可以通过创建外部类实现监听器接口,然后在上面实例化这个外部类,也就实例化了监听器,然后分别set绑定监听器,设定不同的事件;也可以在本类直接实现监听器接口,在重写的监听器方法中事业if判断来分别绑定不同的事件。

0 回复 有任何疑惑可以回复我~
#1

hugie 提问者

多谢解答
2016-11-13 回复 有任何疑惑可以回复我~

第一个问题:如何绑定tb?这要去看ToggleButton类中有提供setOnCheckedChanged(listener)方法,那么问题来了,什么时候执行?当你传入listener的时候,便执行void onCheckedChanged(CompoundButton buttonView,  boolean isChecked)中的代码。至于第二个问题,如果有多个按钮的话,也可以只绑定一个监听事件,内部机制代码有提供buttonView.getId()去获取用户点击了哪个按钮的ID,获取ID之后,switch语句去判断,进而做出不过的事情。

0 回复 有任何疑惑可以回复我~

对于这种监听事件有三种方法,这是其中一种,通过实现 onCheckedChanged接口的方法来实现按键活动,其中的this指的就是void onCheckedChanged(CompoundButton buttonView,  boolean isChecked) ,而ToggleButton在内部绑定了,你点击了ToggleButton就调用了CompoundButton buttonView;至于第二个你可以写内部类方法实现不同的ToggleButton


0 回复 有任何疑惑可以回复我~
#1

hugie 提问者

多谢解答
2016-11-13 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第一门课(入门篇)
  • 参与学习       312585    人
  • 解答问题       4633    个

想快速掌握Android应用开发基础,选择学习这门课程就对了。

进入课程

有关ToggleButton的onCheckedChanged

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信