Android Studio 关于switch case中,R资源(局部R资源)找不到问题

这篇具有很好参考价值的文章主要介绍了Android Studio 关于switch case中,R资源(局部R资源)找不到问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

logcat报错提醒如下:

Android Studio 关于switch case中,R资源(局部R资源)找不到问题,解决Bug,android studio,android,java

代码报错处,case R.id.btn_back 显示btn_back找不到,不是final常量:

Android Studio 关于switch case中,R资源(局部R资源)找不到问题,解决Bug,android studio,android,java

原因:

//Library工程的R文件
 public static int gift_pop_hide=0x7f04000f;
//普通工程的的R文件
public static final int abc_fade_in=0x7f040000;

对比普通工程和Library工程的R文件发现,Library工程的R文件常量缺少final。

由于Library工程的可以包含资源文件,编译会生成R文件,多个Library中可能出现id冲突的问题。为了解决这个问题谷歌将Library工程R文件才从静态常量变为非常量。

然而switch语句的case中 必须是常量,而此时的R.id.xxx为非常量,所以报错了。
参考连接:该原因参考文章

也就是官方在ADT 14版本之后,将原本是
application module 的R文件声明成
public static final int main=0x7f030004变成了library module 的R文件变成了public static int
参考连接http://t.csdn.cn/3MkMR

解决方法

直接用if…else代替switch–case,或用快捷键ALt+Enter文章来源地址https://www.toymoban.com/news/detail-726777.html

到了这里,关于Android Studio 关于switch case中,R资源(局部R资源)找不到问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 新版Android Studio搜索不到Lombok以及无法安装Lombok插件的问题

    新版Android Studio搜索不到Lombok以及无法安装Lombok插件的问题

    在最近新版本的Android Studio中,使用插件时,在插件市场无法找到Lombox Plugin,具体表现如下图所示: 1、操作步骤: (1)打开Android Studio-Settings-Plugins,搜索Lombok,发现并没有带小辣椒的Lombok,如下图所示: (2)所以,想到通过插件市场自己手动下载安装,插件市场的地址为

    2024年02月07日
    浏览(16)
  • 关于android studio 几个简单的问题说明

    关于android studio 几个简单的问题说明

    自信是成功的第一步。——爱迪生 1. android studio 如何运行不同项目是否要更换不同的sdk 和 gradle    2.编译Gradle总是错误为什么  3.如何清理android studio 的缓存 4. 关于android Studio中的build 下面的rebuild project  

    2024年02月11日
    浏览(11)
  • 解决switch case :Resource IDs will be non-final by default in Android Gradle Plugin version 8.0

    解决switch case :Resource IDs will be non-final by default in Android Gradle Plugin version 8.0

    今天刚安装的最新Studio来试试手,居然在写代码的时候发现一个问题,在使用switch case语句的时候居然报错提示Resource IDs will be non-final by default in Android Gradle Plugin version 8.0,avoid using them in switch case statements,大概意思就是默认情况下,在Android Gradle插件8.0版中,资源ID将是非最终

    2024年02月10日
    浏览(9)
  • 关于Android Studio 在XML中编码无代码提示的问题

    关于Android Studio 在XML中编码无代码提示的问题

    记录一下终于受不了在activity_main.xml中敲代码没有提示,全手敲到网上找解决办法,到终于顺利解决的过程!   有提示可太爽啦 ~~ 解决方法: 1. 我的Android Studio开始不懂装了好些版本的Sdk,然后全部卸载就装了API 32,可以选择一个版本或多个版本下载下来,然后关掉软件 重

    2024年02月07日
    浏览(11)
  • Python Switch 语句——Switch Case 示例

    Python Switch 语句——Switch Case 示例

    在 3.10 版本之前,Python 从来没有实现 switch 语句在其他编程语言中所做的功能。 所以,如果你想执行多个条件语句,你将不得不使用elif这样的: 从 3.10 版本开始,Python 实现了一个称为“结构模式匹配”的 switch case 特性。您可以使用match和case来实现此功能。 有

    2024年02月12日
    浏览(13)
  • 解决 Android Studio 的 Gradle 面板上只有关于测试的 task 的问题

    解决 Android Studio 的 Gradle 面板上只有关于测试的 task 的问题

    笔者出问题时的运行环境: Android Studio Flamingo | 2022.2.1 Android SDK 33 Gradle 8.0.1 JDK 17   笔者最近发现一个奇怪的事情。笔者的 Android Studio 的 Gradle 面板上居然除了用于测试的 task 之外,其它什么 task 都没有。   解决办法也很简单。这是因为 Android Studio 默认屏蔽了其它 task。

    2024年02月13日
    浏览(8)
  • Java switch case 语句

    Java 的 switch case 语句是一种常用的控制流语句,用于基于不同的输入值执行不同的操作。本文将详细介绍 Java switch case 语句的作用、用法以及在实际工作中的应用。 一、switch case 语句的作用 switch case 语句是一种多分支条件语句,它基于不同的输入值,执行不同的操作。swit

    2024年02月11日
    浏览(10)
  • Java switch case语句详解

    Java switch case语句详解

    if…else 语句可以用来描述一个“二岔路口”,我们只能选择其中一条路来继续走,然而生活中经常会碰到“多岔路口”的情况。switch 语句提供了 if 语句的一个变通形式,可以从多个语句块中选择其中的一个执行。 switch 语句是 Java 的多路分支语句。它提供了一种基于一个表

    2024年02月16日
    浏览(15)
  • C语言 switch case 语句优化方案其一

                   这是一个用于计时的函数,细心的朋友应该可以发现,这段代码还隐藏一段 if 语句的优化方案,那就是 提前return,干掉else。                结构体内容如下: 当case语句较少的时候还能接收,假如很多的时候就会难以维护,这里提供一种思维。   

    2024年01月21日
    浏览(18)
  • 超级进化吧switch case in java

    因为长情是古董,所以假货特别多 觉得太长可以直接看总结就可以了 Switch case语句在Java中是一种流程控制结构,用于将一个值与一系列可能的情况进行比较,并根据匹配的情况执行相应的代码块。在不同的Java版本中,switch case标签的用法略有不同。 Java 6及以下 | 整数当道

    2023年04月08日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包