java - 硬编码文本问题

标签 java android eclipse

我正在 eclipse 模拟器“Nexus one”中开发一个应用程序,并且我正在尝试将按钮添加到格式中。当我添加按钮时,它们很好。当我将自己的文本添加到按钮中时,我收到硬编码警告。因此,我将继续添加“@string/”,以消除错误/警告,但问题是“@string/”在按钮上显示为文本。

-那么如何让按钮只显示个人资料和日历而不出现错误和/或@string/

我不知道如何解决这个问题。这是代码和图片:

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="@string/Profile"
    android:onClick="profile" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/button1"
    android:layout_marginTop="20dp"
    android:text="@string/Calendar" 
    android:onClick="calendar"/>

enter image description here

最佳答案

简单删除@string/来自您的android:text属性。因此每个按钮看起来像这样:

<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:text="Profile"
    android:onClick="profile" />

@string/my_string_name用于引用 strings.xml 资源文件中定义的字符串。

修复这些错误的另一种(也是“正确的”)方法是在 XML 中定义这些字符串。 如果您编辑 strings.xml 并添加诸如 <string name="Profile">Profile</string> 之类的行,这些错误将会消失,您将拥有一个能够轻松翻译成其他语言的应用程序。

关于java - 硬编码文本问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19594299/

相关文章:

java - 如何配置 Intellij toString() 模板以与 Eclipse 保持一致

java - ActionEvent - 按下按钮时更改 JLabel

java - 本地运行的 Hive 包含 LZO 的 native 库

java - 如何使用 JPA 映射具有本地化产品名称的表?

android - 根据android中的性别从string.xml资源文件加载

android - RoboSpice 和 Jsoup

java - 同步性能

android - 通过电子邮件创建用户时的 Firebase 异常处理

eclipse - 用于扩展和增强 Eclipse CDT C++ 支持的资源

java - 没有管理员权限如何安装jdk 1.6?