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有关的方法时都出错,我注释掉就可以了。怎么解决啊。
解决方案 »
- android frameworks里添加activity报的错误
- 关于android设备的唯一标识问题。。。
- 多个ListView数据显示完整,不用滚动条
- (结贴率100%)xml解析。。。。根据下面要求把下面的xml文件解析了。。。
- camcorder 录像的时候,选择高像素录像时,出现全黑。不能录像。
- Android版的Javaeye新闻阅读器
- 谁在linux环境下开发过Android程序阿,请进来指教下,helloworld程序也可以阿
- 求大神帮忙,ORIENTATION感应器 值不对,怎么校准? 有什么方法呀??
- android锁屏状态下的事件监听
- Fragment和Activity通信问题
- android 服务如何保持运行,不被杀掉
- R.string中的资源不能修改,但是怎么能和其他string组合使用?
switch(checkedId):
case R.id. 。
但是 我在前面写了 timerRadio = (RadioButton)findViewById(R.id.timer);
嗯,我知道了。不过我就三个raidogroup 以后也不会增加。
其实主要不是写不写成switch 的问题,而是我现在所说的问题
无法用timerRaido.***的任何方法,编译没有问题,但是运行就失败了。只能替换成R.id.timer!
case expressions must be constant expressions(case表达式必须是常量表达式)
也就是说timerRadio.getId()是个变量,不符合java语法规范。真心建议楼主使用switch-case啊