在今天的开发工作当中,要同时用到ToggleButton和RadioGroup的监听事件,ToggleButton的监听事件需要导入CompoundButton.onCheckedChangeListener,RadioGroup的监听事件需要导入RadioGroup.onCheckedChangeListener,但是这两个导入是冲突的,而且这两个事件是必须用到的。怎么办呢?不要导入任何事件,在给两个控件设置监听器的时候加入事件的具体名字。如下:
//设置RadioGroup监听事件
rGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
Toast.makeText(getBaseContext(), tipString, Toast.LENGTH_SHORT).show();
}
});
//设置ToggleButton监听事件
toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton button, boolean isChecked) {
//.....这里是具体实现的功能代码
}
});
这样问题就解决了。(Switch对象的监听事件和ToggleButton的是一样的,也是用到CompoundButton.onCheckedChangeListener)