Compoundbutton和普通按钮有啥区别?一文讲清!

吉云

今儿个,咱来聊聊CompoundButton这个玩意儿。一开始看到这名字,我也懵圈,啥玩意儿这是?后来捣鼓一番,才算摸清点门道。

这玩意儿,说白,就是一个“能打”的按钮。但它自己不出手,因为它是个抽象的,得靠它的几个小弟来干活。就像那个CheckBox、Switch、RadioButton,这些都是它的小弟,听它指挥。

我一开始想直接用CompoundButton,结果发现不行,这大哥只管发号施令,不管具体干活。没办法,我只能找它的小弟们来帮忙。

Compoundbutton和普通按钮有啥区别?一文讲清!

我先是找来CheckBox,也就是复选框。这玩意儿大家伙儿都熟悉,就是那种可以打勾勾的小方框。我给它安排个任务,让它听我的,只要状态变,就告诉我一声。

实践出真知

下面是我捣鼓的过程,大伙儿可以看看:

我得在布局文件里头把CheckBox给安排上,给它个地儿待着。就像这样:


Compoundbutton和普通按钮有啥区别?一文讲清!

<CheckBox

android:id="@+id/my_checkbox"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="点我试试"/>

Compoundbutton和普通按钮有啥区别?一文讲清!

然后,我就在代码里头找到这个CheckBox,给它安排个“监听员”,盯着它的一举一动。这“监听员”就是OnCheckedChangeListener。


CheckBox checkBox = findViewById(*_checkbox);

*(new *() {

Compoundbutton和普通按钮有啥区别?一文讲清!

@Override

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {

// 这里头写上CheckBox状态变化后要做的事儿

if (isChecked) {

// 选中要干啥

*("你小子被选中!");

Compoundbutton和普通按钮有啥区别?一文讲清!

} else {

// 没选中要干啥

*("你小子没被选中!");

Compoundbutton和普通按钮有啥区别?一文讲清!

看看,就这么简单,CheckBox就被我安排得明明白白。只要它状态一变,是选中还是没选中,都会在控制台里告诉我。

然后我又试试Switch,就是那种滑动开关。跟CheckBox差不多,也是给它安排个“监听员”,盯着它的一举一动。只要它状态变,是开还是关,都会告诉我。

RadioButton,单选按钮,也是一样的道理。都能通过CompoundButton来设置。

CompoundButton这大哥,虽然自己不出手,但它能指挥它的小弟们干活,而且干得还挺以后再遇到这种需要监听按钮状态变化的需求,咱就知道该咋办。

Compoundbutton和普通按钮有啥区别?一文讲清!

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]