2 znl 12 znl_12 于 2013.07.12 14:16 提问

从 OnCheckedChangeListener 的 CompoundButton中获取CheckBox key的名称

我使用接口 OnCheckedChangeListener,当点击 checbox 时 onCheckedChanged 方法被摧毁。
程序中有 10 个checkboxes。如何获取 CompoundButton 中点击的checkbox的名称?我觉得 CompoundButton 有所有需要的值,但是不知道怎么获取这个值。
例如:

<CheckBox
                    android:id="@+id/cb_mute_all_sounds"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:clickable="true"
                    android:key="nm_mute_all_sounds" />

如何获取 nm_mute_all_sounds in CompoundButton 的 key 名称?

 @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
buttonView

或者如何知道哪个已经被点击?

1个回答

shaojie519
shaojie519   2013.07.12 15:27

通过ID的方式
public void onCheckedChangeListener(CompoundButton theView, boolean checked) {
if (theView.getId() == R.id.cb_mute_all_sounds) {
// do something
}
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
CheckBox多选按钮实现CompoundButton.OnCheckedChangeListener
activity_main.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_wi
谈谈CompoundButton的OnCheckedChangeListener
CompoundButton相信大家都很熟悉了。 OnCheckedChangeListener相信大家也很熟悉。 不过不知道大家有没有碰到类似的问题: 在某个CompoundButton.OnCheckedChangeListener中请求网络接口。 在其他一些地方,例如onCreate/onCreateView/setUserVisableHint等等方法中, 从另一个接口取得数据,
CompoundButton(checkbox,switch,ToggleButton)和RadioGroup OnCheckedChangeListener() 引用冲突问题
在一个类中同时有CompoundButton 和 RadioGroup   vSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecke
屏蔽setChecked方法对OnCheckedChangeListener的影响(CheckBox,SwitchButton)
(1)用户点击了一下CheckBox; (2)代码中调用了setChecked(boolean checked)方法,并且参数checked与CheckBox原始的选中状态不一致。 方案(1): 程序中定义一个全局变量boolean ignoreChange,然后,调用setChecked方法时改变ignoreChange的值: ignoreChange =
Android开发:CompoundButton.onCheckedChangeListener和RadioGroup.onCheckedChangeListener冲突问题
在今天的开发工作当中,要同时用到ToggleButton和RadioGroup的监听事件,ToggleButton的监听事件需要导入CompoundButton.onCheckedChangeListener,RadioGroup的监听事件需要导入RadioGroup.onCheckedChangeListener,但是这两个导入是冲突的,而且这两个事件是必须用到的。怎么办呢?不要导入任何事件,在
CompoundButton.OnCheckedChangeListener与RadioGroup.OnCheckedChangeListener冲突
当RadioGroup与CompoundButton同时存在且都要监听事件时CompoundButton.OnCheckedChangeListener与RadioGroup.OnCheckedChangeListener就会出现冲突,导入任何一个包import android.widget.RadioGroup.OnCheckedChangeListener;会出现如下错误: The met
Android中CheckBox与CompoundButton源码解析
经历过了前面一系列的讲解,下面我们直接来看看系统里面的CheckBox与CompoundButton类的源码文件。你肯定会发现很多熟悉的地方。 结合下面源码,我们对它们进行解析解析,它里面使用的就是自定义drawable state。我们首先直接看CheckBox的源码public class CheckBox extends CompoundButton { public CheckBo
Android(5)多选按钮CheckBox、OnClickListener、OnCheckedChangeListener
public class MainActivity extends ActionBarActivity { private CheckBox eatBox; private CheckBox sleepBox; private CheckBox shopBox; private CheckBox all; private LinearLayout mChecke
如何给checkbox创建setOnCheckedChangeListener()?
原问题来自于CSDN问答频道,更多解决方案见:http://ask.csdn.net/questions/2185 问题描述: 我想创建一个listview,包含textview 和 checkbox。我创建好了 listview,也可以捕捉listview item select,但是当我想捕捉 checkbox 的select和unselect时,获得null pointer except
CheckBox调用setChecked方法调用onCheckedChanged方法问题
在使用CheckBox控件时,难免不使用setChecked方法设置控件是否选中,但是每次调用setChecked方法时,都会去执行onCheckedChanged方法,有时候我们不需要在设置选中状态的时候,监听是否选中、可是使用控件是否点击的方法来进行判断,方法如下: mCbCheck.setOnCheckedChangeListener(new CompoundButton.