switch…case结构中case后的表达式必须为常量表达式_switch case语句例子

switch…case结构中case后的表达式必须为常量表达式_switch case语句例子问题我的switch-case语句昨天完美无缺。但是当我今天早些时候运行代码时,eclipse给了我一个错误,用红色突出显示case语句并说:case表达式必须是常量表达式,它是常量我不知道发生了什么。这是我的代码如下:publicvoidonClick(Viewsrc){switch(src.getId()){caseR.id.playbtn:checkwificonnection()…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

问题

我的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都用红色加下划线。

#1 热门回答(252 赞)

在常规的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();

}

}

在Eclipse中

将光标移动到switch关键字并按Ctrl1然后选择

将’switch’转换为’if-else’。

在Android Studio中

将光标移动到switch关键字并按Alt Alt Enterthen选择

将’switch’替换为’if’。

#2 热门回答(51 赞)

取消选中项目中的”Is Library”属性对我有用。

#3 热门回答(9 赞)

解决方案可以这样做:

只需将值赋给Integer

将变量设为最终

示例:

public static final int cameraRequestCode = 999;

希望这会帮助你。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187967.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux 双网卡 同网段_双网卡 同网段 冲突

    linux 双网卡 同网段_双网卡 同网段 冲突场景:A(192.168.10.203)X网段(192.168.10.200)B(10.179.172.100)Y网段C(10.179.172.122)A是X网段中的设备,C为Y网段中的设备,现在想设备C访问到设备A,现有一台双网卡服务器B实现方式:开启服务器B的地址伪装功能1、设置服务器B的ipB服务器网卡1设置X网段ip192.168.10.200,不设网关网卡2设置Y网段ip10.179.172.100,网关设置为10.179.172.100这样A可以ping通BC也可

    2022年9月3日
    8
  • CListCtrl 使用大全

    CListCtrl 使用大全转载文章:今天第一次用CListCtrl控件,遇到不少问题,查了许多资料,现将用到的一些东西总结如下:以下未经说明,listctrl默认view风格为report相关类及处理函数MFC:CListCtrl类SDK:以“ListView_”开头的一些宏。如ListView_InsertColumn1.CListCtrl风格

    2022年6月23日
    21
  • idea最新激活码(破解版激活)「建议收藏」

    idea最新激活码(破解版激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    53
  • wcopy nfc pro智能读卡工具软件_手机NFC复制小区用的门禁卡[通俗易懂]

    wcopy nfc pro智能读卡工具软件_手机NFC复制小区用的门禁卡[通俗易懂]我们说一说目前的门禁卡到底有哪些类型呢?门禁卡一般分为:ID卡和IC卡。而EM卡、M1卡、CPU卡等等,都是这两种卡的细分。它们能够开门,都是基于RFID感应的原理来实现开门的。我们看一张图,在这张图中,能够看到一个数据名词,频率:ID卡的工作频率为125KHz频率,而IC卡的工作频率为13.56MHz,显然因为IC卡的频率高,所以,它的安全性比较高。小区基本上选择IC卡的概率会更高一…

    2022年5月22日
    327
  • windows安装kafka调试环境_kafka配置

    windows安装kafka调试环境_kafka配置在安装Zookeeper之后就可以安装Kafka了1.下载安装包:Kafka_2.13-3.2.02、解压并进入Kafka目录,我的文件夹:D:\kafka_2.13-3.2.03、进入config目录找到文件server.properties并打开4、找到并编辑log.dirs=D:\kafka_2.13-3.2.0\kafka-logs5、找到并编辑zookeeper.connect=localhost:21816、Kafka会按照默认,在9092端口上运行,并连接zookeeper的默

    2022年10月10日
    1
  • Ubuntu 16.04 上 CUDA_10.0及cuDNN的安装

    Ubuntu 16.04 上 CUDA_10.0及cuDNN的安装一、安装方式CUDA提供两种安装方式:packagemanager安装和runfile安装,packagemanager安装方式相对简单一些,但是我在阅读别人博客的过程中发现选择这种方式在安装过程中问题可能多一点,失败的概率较大。为了减少不必要的麻烦我选择runfile安装方式。下载cuda安装包:cuda官网下载,根据系统信息选择对应的版本,runfile安装的话最后一项要选择ru…

    2022年5月1日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号