硬编码的刺痛" x",应该使用@string资源

时间:2014-11-15 19:39:56

标签: java android xml eclipse

我在布局文件夹中的xml文件中出现此错误。我把它改成了android:text =" @ string / x"但随后它会在按钮上显示:enter image description here

这是我的main_menu.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="150dp"
    android:layout_height="match_parent"
    android:layout_marginLeft="100dp"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/menu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Menu" //warning here
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <Button
        android:id="@+id/one_player"
        android:layout_width="115dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="1player" />//warning here

    <Button
        android:id="@+id/two_player"
        android:layout_width="115dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="2players" />//warning here

    <Button
        android:id="@+id/exit_game"
        android:layout_width="wrap_content"
        android:layout_marginTop="20dp"
        android:layout_height="115dp"
        android:text="exitgame" />//warning here

</LinearLayout>

2 个答案:

答案 0 :(得分:2)

您需要在res-&gt; values-&gt; string.xml

下定义字符串
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string
        name="player_1"
        1player</string>
</resources>

通过这种方式,您可以在任何视图下引用xml布局文件中的字符串值: -

<Button
    android:id="@+id/one_player"
    android:layout_width="115dp"
    android:layout_height="wrap_content"
    android:layout_marginTop="20dp"
    android:text="@string/player_1" />

您可以参考link以获取有关如何在资源中声明字符串的更多详细信息。

答案 1 :(得分:1)

您似乎忘记在strings.xml中实际声明变量。