【问题标题】:attrs not resolved or not a fieldattrs 未解析或不是字段
【发布时间】:2013-11-04 23:28:29
【问题描述】:

与许多人一样,我正在编写我的第一个应用程序。我正在尝试从这里使用三个按钮切换:http://androidasilearnit.wordpress.com/2011/03/05/custom-toggle-button/

我目前唯一的问题是我创建了 attrs.xml 文件,它位于 res/values 文件夹中。但是,当我创建 TriToggleButton.java 类时,我在 attrs.xml 中声明的所有三个状态都收到错误

//Get the attributes created in attrs.xml
private static final int[] STATE_ONE_SET =
{
    R.attr.state_one
};

private static final int[] STATE_TWO_SET =
{
    R.attr.state_two
};

private static final int[] STATE_THREE_SET =
{
    R.attr.state_three
};

我查看了 R.java(因为这是一个建议的修复),但它们不在其中。我可以在其中看到所有其他 XML 信息,但看不到 attr

有什么想法吗?

编辑: 这是 attrs.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <declare-styleable name="CustomButtonState">
        <!-- Use one for every state you want to have  -->
        <attr name="litres" format="boolean" />
        <attr name="usgal" format="boolean" />
        <attr name="impgal" format="boolean" />
    </declare-styleable>

</resources>

哦,清洁真的把它弄坏了。现在我所有的资源都找不到了!!在 MainActivity.java 我现在得到“R 无法解析为变量”

【问题讨论】:

  • 介意发布您的 attrs.xml 部分吗?尝试执行 Project > Clean,这有助于解决大多数 R.java 相关问题。
  • 另外,您遇到了什么错误?大多数情况下,当 XML 文件的语法不正确时,您可能会遇到有趣的错误。这也是导致 R.java 无法正确生成的一大原因。
  • 你在课堂上导入了android.R 吗?如果是这样,请将其删除并导入您的课程资源
  • 好的,我刚刚看了看,android.R 已添加到 MainActivity.java 的导入中,我已将其删除,但我的所有资源仍未解决。你能解释一下“导入你的班级资源”是什么意思吗
  • 好吧,在惊慌失措之后,我找到了创建虚拟 XML 并将其删除的建议,这让我回到了最初的阶段。我所有的错误都消失了,除了 R.java 仍然没有更新。如果我注释掉任何错误,编译失败并出现以下错误: 生成最终存档时出错:java.io.FileNotFoundException: F:\Users\Graham's\Documents\Android\workspace\FuelCheck\bin\resources.ap_ 不存在

标签: android button attr


【解决方案1】:

对于未来的人。每当我遇到这个问题时,它总是一个 XML 问题。对我来说,它通常总是菜单。据我所知,这是一个日食问题,因为我可以删除整个 XML 并且 R.java 会更新。我可以将整个 XML 原封不动地发布回去,程序将毫无问题地编译和运行。这很乏味,但我可以解决它。

【讨论】:

    猜你喜欢
    • 2022-01-09
    • 2014-03-27
    • 2014-01-05
    • 2016-05-20
    • 2016-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多