硬编码文本问题

时间:2013-10-25 15:49:10

标签: 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

1 个答案:

答案 0 :(得分:1)

@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>之类的行,这些错误就会消失,你将会有一个能够轻松翻译成其他语言的应用程序。