java - 通过 R.string 引用字符串

标签 java android

我有一个带有文本的简单按钮
如果在 android:text 中我引用字符串,它就会按预期工作。

<Button
            android:id="@+id/true_b"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/true_button" /> // OK



     <Button
                android:id="@+id/true_b"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@id/R.string.true_button" /> // doesn`t output anything

但是,如果我尝试通过 R.string."name of string"引用我的字符串,则不会发生任何事情
请解释一下我错过了什么......

最佳答案

您在这里做错了一些事情。要引用 XML 中的字符串,您应该使用

android:text="@string/string_name"

@string 指的是 string.xml 文件,string_name 是您声明的名称。

这就是 string.xml 中所需的行的样子

<string name="string_name">This is a string you are referencing!r</string>

此外,我从未尝试过使用 .分隔词。这可能会导致错误,但我不能 100% 确定。

编辑: michal.z 说你不能引用 R. 或 android.R,这是非常正确的。来自 XML 的资源。仅当您尝试以编程方式引用资源时才使用它们。

关于java - 通过 R.string 引用字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27350997/

相关文章:

java - IOUtils.toString 花费很长时间

java - 为什么这段代码在 Java 中向我发送 Stackoverflow

android - 使用 PreferenceFragment 在 Activity 中膨胀布局

android - 如何通过一个完美的例子在 facebook sdk 4+ 中获得发布权限 publish_actions

android - 防止用户复制 Android 应用程序内容

android - Nativescript ListView 仅显示一项

java - 如何检索子类别的正确值?

java - 在 Eclipse Luna 中将 java 文件存储为项目或类

android - 如何将 android xml 资源关联到 Eclipse 中的默认编辑器?

java - 哪个方面/拦截器处理@Transactional注释