在常规的Android项目中,资源R类中的常量声明如下:
public static final int main=0x7f030004;
但是,从ADT 14开始,在图书馆项目中,它们将这样声明:
public static int main=0x7f030004;
换句话说,常数在库项目中不是最终的。因此,您的代码将不再编译。
解决方案很简单:将switch语句转换为if-else语句。
public void onClick(View src){ int id = src.getId(); if (id == R.id.playbtn){ checkwificonnection(); } else if (id == 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(" "); } else if (id == R.id.btnmenu){ openOptionsMenu(); }}http://tools.android.com/tips/non-constant-
fields
您可以使用以下命令快速将
switch语句转换为语句
if-else:
在Eclipse中,
将光标移至
switch关键字,然后按
Ctrl+,
1然后选择
将’switch’转换为’if-else’。
在Android Studio
中将光标移至
switch关键字,然后按
Alt+,
Enter然后选择
将“ switch”替换为“ if”。



