我在eclipse中得到这3个错误(android hello world app)

时间:2012-09-28 14:24:50

标签: android eclipse android-layout

这是我从其中一个android教程粘贴的代码。但是我得到这3个错误?请帮忙

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

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="This is my first Android Application!" />

    <Button
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="And this is a clickable button!" />

</LinearLayout>

Error: No resource found that matches the given name (at 'text' with value '@string/hello'). main.xml /Helloworld/res/layout line 6 Android AAPT Problem

[I18N] Hardcoded string "And this is a clickable button!", should use @string resource main.xml /Helloworld/res/layout line 17 Android Lint Problem

[I18N] Hardcoded string "This is my first Android Application!", should use @string resource main.xml /Helloworld/res/layout line 13 Android Lint Problem

4 个答案:

答案 0 :(得分:3)

您需要添加

<resources>
     <string name="hello">Hello World</string>
     <string name="app_name">My app</string>
</resources>

最好的办法是以编程方式添加字符串:

TextView tv = (TextView)findViewById(R.id.text1);     //text1 is the id u provide in xml file
tv.setText("Hello World");

这里有更多: Difference between android:text="@string/hello" and normal right click--> Text view component--> EditText

答案 1 :(得分:1)

第一个。您还没有在res / values

中的strings.xml中定义字符串“Hello”
<string name="hello">Hello!</string>

只有两个警告。您不应该在layout.xmls中对字符串进行硬编码,因为它们无法进行本地化。您应该使用与“hello”相同的技术。

答案 2 :(得分:1)

试试这个,

String.xml文件

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<resources>
    <string name="hello">Hello World</string>
    <string name="first_application">This is my first Android Application!</string>
    <string name="clickable_button">And this is a clickable button!</string>
</resources>

你的xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="vertical">
      <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/hello"/>
      <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/first_application"/>
      <Button
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/clickable_button"/>
</LinearLayout>

答案 3 :(得分:0)

@string指的是名为res/values的{​​{1}}文件夹中的xml文件,它应如下所示:

strings.xml

其他错误也建议为那些人创建创建字符串,如上所述。