0

我是 Android 开发的新手。

我正在尝试使用 Eclipse 为 Android 应用程序设置 GUI。

当我向 GUI 添加按钮等组件时,会出现一个带有感叹号的黄色三角形,并显示以下消息:[I18N] Hardcoded string "Button", should use @string resource

Eclipse 提示我通过在字符串资源上创建一个字符串按钮来自动修复此问题,但它仍然抛出一个错误,指出属性 android:text 已经包含一个字符串引用。

我也有错误:

Couldn't resolve resource @string/name
Couldn't resolve resource @string/gps
Couldn't resolve resource @string/photo
Couldn't resolve resource @string/back
Couldn't resolve resource @string/add

无法解析资源是什么意思?name/gps/photo/add 是我的 GUI 中的组件。

我如何能:

Add Components to a GUI without erroring? I want to rename the GUI components to something relevant so I can reference them in my code. What steps are generally required?

我以前使用过 Visual Studio,通常只需要拖放组件,然后在属性下重命名它们。我想为我的 Android 应用程序做同样的事情 - 请帮助!

编辑:我认为这些值是在我的字符串 xml 文件中声明的。这里是:

<string name="app_name">UCLocationSearch</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="back_button">Back Button</string>
<string name="exit">Exit<string name="add">Add</string>
<string name="gps">GPS</string>
<string name="name">Name</string>
<string name="autocompletetextview">AutoCompleteTextView</string>
<string name="photo">Photo</string>
<string name="back">Back</string>
4

1 回答 1

4

首先,在 Android 上使用 WYSISWYG GUI 很糟糕。我更喜欢通过 XML 创建 UI,很少使用 GUI 编辑器。它不可靠,并且看起来与设备不同。有些人可能不同意,但这只是我的看法。

其次,您收到错误的原因是因为在您的 Android 项目中有一个名为Strings. 这是保存字符串定义的地方。看起来像:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">WPAConfiguration</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>

</resources>

所以当你打电话时,Android:text=@string/hello_world你会得到“Hello World!”。

要修复错误:

Couldn't resolve resource @string/name
Couldn't resolve resource @string/gps
Couldn't resolve resource @string/photo
Couldn't resolve resource @string/back
Couldn't resolve resource @string/add

您添加:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="back">Back</string>
    <string name="photo">Photo</string>
    <string name="add">Add</string>
    etc...
</resources>

到您的Strings资源。

Android 协议建议,当您命名按钮或其他 GUI 对象时,您可以通过Strings资源来命名。正如其他人所建议的那样,在开始您的旅程之前,我会阅读一些教程。如果你不这样做,你将会遇到比现在更多的麻烦。

祝你好运!

于 2013-06-14T00:24:00.963 回答