无法解决资源android eclipse

时间:2013-05-24 09:51:52

标签: android eclipse

我是andorid开发的新手。 我根据http://developer.android.com/training/basics/firstapp/creating-project.html

创建了我的android第一个项目

以下是我创建项目时的代码(代码中没有对我进行任何更改)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

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

</RelativeLayout>

以下是图形布局的屏幕截图 http://imageshack.us/a/img35/5284/android1s.png

所以,它现在看起来很好,但是如果我想将文本Hello world更改为hello,那么代码的部分看起来像android:text="@string/hello",我就会收到错误

NOTE: This project contains resource errors, so aapt did not succeed, which can cause rendering failures. Fix resource problems first.

Couldn't resolve resource @string/hello,图形布局中的文字变为 @string/hello,就像在此图片中一样

http://imageshack.us/a/img826/7735/android2p.png

但我注意到一件事: 如果出现此错误后,我会转到res/values/strings.xml并添加名称和值为String的{​​{1}},例如

http://img842.imageshack.us/img842/8108/android3s.png

错误消失,我可以在图形布局中看到单词hello

我到目前为止尝试了这些

  1. 使用hello之类的https://stackoverflow.com/a/14462434/932473
  2. 进行了描述
  3. 关闭并重新打开Eclipse。
  4. 清洁,重生
  5. 删除整个项目并重新创建。
  6. ctrl+shift+s中确实存在values文件夹。

    这些问题都没有解决我的问题

    Eclipse could not resolve string resource error

    Can't Resolve Android Resource Strings

    已更新 如果我像这样写res 我在日食中得到了这个警告 android:text="hello"

    每次我想使用像Hardcoded string "hello", should use @string resource这样的字符串时,我都不会得到它,我必须先在android:text="@string/hello2"中手动指定hello2吗?

2 个答案:

答案 0 :(得分:7)

在res / values / strings.xml

      <string name="hello">Hello</string>

然后将textview中的字符串引用为

      android:text="@string/hello"

我猜你没有类似上面的东西。因此,您将获得资源未找到异常,因为该资源未在strings.xml中定义

                 or

您可以执行以下操作

       <string name="hello_world">hello</string> // change the string in strings.xml      
       android:text="@string/hello_world"  

对于评论中的问题

enter image description here

enter image description here

答案 1 :(得分:1)

你可以使用

android:text="hello"

@string位表示其xml中名为hello的资源。

因此,如果您愿意,也可以将资源添加到xml中。众所周知,它是国际化的更好实践。