timerRadio = (RadioButton)findViewById(R.id.timer);
triggerRadio = (RadioButton)findViewById(R.id.trigger);
//给RadioGroup设置事件监听
radioGroupSet2.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
if((timerRadio.getId()) ==checkedId){
。。。。
}else{
。。。。
}
}
});
在运行程序的时候出现错误,提示出现错误,错误在timerRadio。getId()这行,我将程序改为如下
radioGroupSet2.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
if((R.id.timer) ==checkedId){
。。。。
}else{
。。。。
}
}
});
可以运行。为什么会这样啊。
凡是在程序中要用到timerRadio 的方法都会运行失败,有错误,比如timerRadio.setChecked()等等,跟timerRadio有关的方法时都出错,我注释掉就可以了。怎么解决啊。
------解决方案--------------------
建议楼主用switch来写,因为如果你的RadioGroup增加到很多个的时候,if-else写起来就很麻烦了,代码阅读就不方便。
- Java code
switch(checkedId):case R.id. 。。。。