0

i would like to know why eclipse is showing warning "[I18N] Hardcoded string "TextView", should use @string resource" in the xml code below .Actually i am trying to get the text written by user in an edit Text in an activity to this current activity.

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_weight="0.01"
            android:text="TextView" />

    </LinearLayout>
4

3 回答 3

2

您收到警告的原因是因为您正在尝试硬编码一个字符串,这在 Android 编程中由于可能的冗余而不是良好的约定:

    <TextView
        ...
        android:text="TextView" />

您应该在 .../res/values/strings.xml 文件中创建对字符串的引用,如下所示:

    <TextView
        ...
        android:text="@string/TextView" />

.. 并在您的 strings.xml 文件中定义它:

<string name="TextView">TextView</string>

希望这可以帮助。

于 2013-07-15T21:28:38.317 回答
0

正如它所说,您使用的是“硬编码”字符串,其效率低于使用String resource. 只需删除

android:text="TextView"

如果您不希望显示警告。如果您想要它,请忽略警告或将其添加到String resource文件中。Text不需要该属性。如果您期望用户输入,那么您应该将其更改为EditText反正,除非您有使用的理由TextView

<EditText
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="0.01" />

然后,如果您希望它在其中显示诸如“在此处输入输入”之类的内容,View则可以添加android:hint"Text to display". strings.xml但是,如果您不将它添加到and中,这会给您同样的警告android:hint="@string/nameInStringsFile"

但这些警告就是这样。建议可能更有效的方法或方式来实现你正在做的任何事情。

于 2013-07-15T21:26:32.130 回答
0

将 XML 更改为以下内容以删除警告

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="0dip"
            android:layout_weight="0.01" />

    </LinearLayout>

您看到警告的原因是您在 XML 布局文件中将文本设置为“TextView”。将所有字符串放在创建字符串资源的 res/values 文件夹中的 strings.xml 文件中是 Android 的最佳做法。如果您在资源文件中有一个字符串,您可以使用语法“@string/string_name”从布局文件中引用它。

于 2013-07-15T21:27:14.817 回答