3

我刚刚开始尝试使用 Java 学习 Eclipse 以进行 Android 编程。事实上,我正在开发 developer.android.com 上教程中的第一个基本示例应用程序。我有以下activity_main.xml:

<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: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" >
    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"
    android:onClick="sendMessage" />

    </LinearLayout>

和下面的strings.xml

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

    <string name="app_name">My First App2</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>
    <string name="title_activity_display_message">My Message</string>
    <string name="hello_world">Hello world!</string>

</resources>

如您所见,我在 strings.xml 中有一个 button_send 字符串和一个 edit_message 字符串,它们都在 activity_main.xml 中引用。但是,构建会产生错误“找不到与给定名称匹配的资源(在 'text' 处,值为 '@string/button_send')”。请问有什么想法吗?

4

2 回答 2

3

这里有几个想法:

  1. 确保 strings.xml 在您的 res/values 文件夹中。
  2. 清理你的项目(项目->清理)。这将删除您的 gen 文件夹并重新生成它。每当您对资源进行更改时,最好清理项目并重新生成所有 R.id.* 值。

编辑:

您还可以进入 XML 文件的 eclipse GUI 并右键单击该按钮。单击“编辑文本”,这应该会显示您的字符串值。您应该能够看到 button_send。如果不这样做,则您的 strings.xml 有问题。

于 2013-08-15T20:30:56.650 回答
2
<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: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" >
android:orientation="horizontal" >

在您的LinearLayout. 删除该字符,清理您的项目,这可能会解决问题。

于 2013-08-15T20:51:50.390 回答