【问题标题】:Cannot be resolved or is not a field error android无法解决或不是字段错误android
【发布时间】:2012-04-05 20:40:41
【问题描述】:

我检查了 R.java 文件中存在的 id 仍然显示错误 这里是 R.java 代码

public static final class drawable {
        public static final int background=0x7f020000;
        public static final int empty=0x7f020001;
    }

我在这里遇到错误

empty=BitmapFactory.decodeResource(getResources(), R.drawable.empty);//0x7f020001);

如果我直接使用 R.java 文件中的值,那么它不会显示任何错误

我已经尝试过 Project->清理和修复项目属性并重新启动 Eclipse,但它们都没有工作有人帮我解决这个问题

谢谢..

【问题讨论】:

  • 如果我使用值 0x7f020001 而不是 R.drawable.empty 那么它可以工作,但问题是当 R.java 文件将再次生成然后空文件可能被分配一个不同的 id 所以它不会工作那个时候..
  • 这看起来是正确的......你得到的实际错误是什么......我怀疑你误读了 eclipse 不满意的地方?此外,如果您确实直接使用该数字(0x7f ...等)它是否真的有效(如在正在运行的应用程序中)还是只是没有让 Eclipse 抱怨?我的猜测是即使它运行了,它也应该在那个时候崩溃,如果eclipse无法解析id,那么数据有问题。
  • 我又检查了一遍还是显示"empty"无法解析或者不是字段
  • 哦,这与 R 无关...您只是没有正确声明为空。您的代码中的位图是空的;宣布?
  • 如果我使用像 ox7f00 这样的 int 值...那么它可以在我的 android 设备上正常运行,但我担心重新创建 R.java 文件时它不会工作...

标签: android resolve


【解决方案1】:

我认为这可能是进口的问题。尝试检查您的班级的进口情况。有时 Eclipse 从 android 包中导入 R 类并停止使用你的。 删除 import android.R 之类的导入

【讨论】:

  • 我指的是import而不是文件。
  • 啊!接得好。是的,你永远不应该导入 R。它是包的一部分。你不会从导入中得到任何有用的东西,除非你真的在导入 android.R 或其他一些非包特定的 R。
  • 我已经接受了答案。为此我只需要在“这个答案是否有帮助”上单击“是”对吗?我是这个论坛的新手,所以我对这些东西不太了解,请告诉我我是对的..
  • @Sandeep 点击复选图标(类似于耐克标志),而不是向上箭头(对不起我的英语,我不知道如何解释:)
  • 我做到了 :) 知道如何接受堆栈溢出的答案,这是您如何接受这个答案的另一个答案 :)
【解决方案2】:

每次构建项目时都会重新生成 R 类。您不能将 int nummers 保存在其他任何地方。您应该直接使用 R 类中的 int 值

【讨论】:

    【解决方案3】:

    在类似的情况下,有人通过更新他的 sdk 解决了这个问题......不确定是否有帮助。

    【讨论】:

    • 我看到了我的错误并编辑了我的答案;)很抱歉给您带来不便。
    猜你喜欢
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 2015-02-03
    • 2016-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多