我是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
。
我到目前为止尝试了这些
hello
之类的https://stackoverflow.com/a/14462434/932473 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
吗?
答案 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"
对于评论中的问题
答案 1 :(得分:1)
你可以使用
android:text="hello"
@string位表示其xml中名为hello
的资源。
因此,如果您愿意,也可以将资源添加到xml中。众所周知,它是国际化的更好实践。