android - java.lang.NoSuchFieldError : Sometimes 错

我只是偶尔遇到这个错误的奇怪问题。我可以重新编译很多次来让它工作

    java.lang.NoSuchFieldError: com.test.test.R$id.img_banner_test
        at com.test.test.Main_Activity.onCreate(Main_Activity.java:46)

对于这一行

 ImageView test = (ImageView) this.findViewById(R.id.img_test);

我正在使用 android studio,如果我 ctrl 单击 img_test。 Android Studio 将我带到正确布局的 ImageView。

最佳答案

我有同样的问题,我正在使用

class MainActivity implements BaseSetupActivity

其中 BaseSetupActivity 扩展 AppCompatActivity 并且在另一个模块中,我们称它为 util。 BaseSetupActivity 使用来自 util 的资源,我认为这是因为资源的位置,以及它们在运行时完成的交叉事物。

解决方案:
1) 移动 MainActivity 模块中的资源解决了我的问题。

但我不想移动资源来保持模块组织的一致性。

2) 请注意,这只是一个运行时错误。我创建了文件 res/values/ids.xml,模板:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item type="id" name="linear_layout_inputs" />
    <item type="id" name="linear_layout_outputs" />
    <item type="id" name="button_ok" />
</resources>

从我的 xml 布局文件中删除每个“@+id/”。这永久有效,但我是手动完成的。

这似乎是一个 android studio/gradle/XYZ 问题,因为错误只是运行时。

请注意,我的问题出现在 Invalidate+Restart 之后。

关于android - java.lang.NoSuchFieldError : Sometimes 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23433419/

相关文章:

python - 用python编写的鼠标运动跟踪程序

php - Laravel:模型内验证。多重验证规则

asp.net-web-api - 当 WebApi 序列化失败时,我希望异常冒泡而不是 null

mongodb - 为什么 mongo 的升序/降序排序顺序会为日期字段翻转?

macos - 通过 XPC 与应用程序通信并启动以 root 身份运行的守护进程

asynchronous - 带有 zmq_proxy 和回复的 ZeroMQ 异步客户端

session - Laravel 4.1 session 变量被随机遗忘

ios - 解码Code128条码?

php - Facebook 登录 - 检查用户是否拥有有效/经过验证的 Facebook 帐户

xml - 使用 XSLT 转换在 WordProcessingML 中保留换行符和空格