0

所以,我正在使用Android进行开发。我想知道,这段代码有什么问题?在res/layout目录中的activity_main.xml上,在图形布局编辑器中,它给了我这个错误:

 Couldn't resolve resource @string/edit_message
 Couldn't resolve resource @string/button_send

字符串:

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <string name="app_name">My First App</string>
  <string name="edit_message">Enter a message</string>
  <string name="button_send">Send</string>
  <string name="action_settings">Settings</string>
  <string name="title_activity_main">MainActivity</string>
</resources>

布局:

<LinearLayout 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:orientation="horizontal">
    <EditText android:id="@+id/edit_message"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hint="@string/edit_message" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_send" />
</LinearLayout>
4

5 回答 5

1

在您的 mainactivity.xml 中剪切此代码:

<resources>
<string name="app_name">My First App</string>
<string name="edit_message">Enter a message</string>
<string name="button_send">Send</string>
<string name="action_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
</resources>

并把它放到res/values/strings.xml

于 2013-11-18T03:30:25.810 回答
1

清理你的项目并检查它。您的代码或xml没有问题..

project->clean
于 2013-11-18T04:15:13.957 回答
0

您的 XML 文档中有两个根元素。您的字符串资源应该放在与布局文档分开的文件中,通常该文件称为“strings.xml。”,它会出现在项目的“values”目录中。

此外,您还为 EditText 元素提供了一个名为“edit_message”的 id。这可能与名为“edit_message”的字符串发生冲突。

于 2013-11-18T03:33:51.873 回答
0

检查“fragment_main.xml”和“strings.xml”选项卡上是否有“*”,例如“*strings.xml”。这意味着您进行了更改并且尚未保存它们,单击(文件>保存)就是这样。至少对我有用。

于 2014-04-19T04:45:16.503 回答
0

确保您的字符串引用名称在活动 xml 和 Android 清单文件中正确间隔,以便将其解析并正确呈现为单独的令牌。例如@string/buttonX,或者@+id/string/buttonX错误,而是将它们间隔到“@string/buttonX”或“@+id/buttonX”

于 2015-04-20T12:42:22.360 回答