昨天我的switch-case语句运行得非常完美。但是今天早上我运行代码时,Eclipse用红色下划线标出了case语句,并显示错误信息:case表达式必须是常量表达式,它是常量,我不知道发生了什么。以下是我的代码:
public void onClick(View src)
{
switch(src.getId()) {
case R.id.playbtn:
checkwificonnection();
break;
case R.id.stopbtn:
Log.d(TAG, "onClick: stopping srvice");
Playbutton.setImageResource(R.drawable.playbtn1);
Playbutton.setVisibility(0); //visible
Stopbutton.setVisibility(4); //invisible
stopService(new Intent(RakistaRadio.this,myservice.class));
clearstatusbar();
timer.cancel();
Title.setText(" ");
Artist.setText(" ");
break;
case R.id.btnmenu:
openOptionsMenu();
break;
}
}
所有的R.id.int都被标记成了红色下划线。
R.id.playbtn
的定义吗?所有东西都是静态和最终的吗? - ThomasR
通常由IDE/开发工具生成,因此通常适用于使用的Android版本。 - cHao