1

我到处搜索,但找不到我的问题的答案。我对此完全陌生,而且不知所措。我只是从 Android 开发网站做基本的“我的第一个应用程序教程”。即使代码与示例中的代码完全相同,本教程也会导致错误。控制台中显示的错误是:

[2013-03-12 15:33:36 - MyFirstApp] D:\Android Development\MyFirstApp\res\menu       \main.xml:3: error: Error: No resource found that matches the given name (at 'title' with value '@string/action_settings').
[2013-03-12 15:34:38 - MyFirstApp] W/ResourceType( 6352): Bad XML block: header size     311 or total size 5346560 is larger than data size 0

我唯一改变的是教程告诉我要改变的。 Activity_main.xmlstrings.xml。我从来没有改变过任何东西main.xml。在包资源管理器中,它旁边显示一个红色 x MainActivity>onCreate(Bundle)onCreateOptionsMenu(Menu) 这是来自 MainActiviy 的代码,括号中有错误

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main); (error here red underline under R)
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu); (error here red underline under R)
    return true;
}

}

我做错了什么?我刚开始学习这个,我什至无法让教程正确运行!

这是我按照说明更改的 Activity_main.xml 和 strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<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"
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" >
<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>


<?xml version="1.0" encoding="utf-8"?>
<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"
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" >
<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

3 回答 3

2

如控制台日志:

错误:找不到与给定名称匹配的资源(在“标题”处,值为“@string/action_settings”

意味着您需要action_settings在文件中添加一个字符串res/values/strings.xml作为

<resources>
    <!-- Your other strings -->
    <string name="action_settings">Action Settings</string>
</resources>
于 2013-03-12T17:12:36.393 回答
0

代码看起来不错,但 XML 存在一些问题。

  1. 您的代码引用了activity_main,但您使用的文件名是Activity_main。由于匹配区分大小写,Android 建议您在文件名中仅使用小写字母。
  2. 您似乎已经列出了 Activity_main.xml 两次。Strings.xml 根本不存在。因此,不可能说出问题所在。
  3. 您没有列出 res/menu 目录中的任何文件。如果要创建选项菜单,则需要 res/menu/menu.xml。
于 2013-03-12T17:12:53.727 回答
0

我自己对 Android 编程还很陌生,但无论如何我都会尽力提供帮助。

R通常是自动生成的;它下面的红线通常表示它已经消失。

大多数情况下,您会收到此错误,因为您在 String.xml 文件中出错。

根据您的错误消息,“action_settings”的字符串似乎存在错误。确保您没有包含任何撇号或犯任何其他语法错误。

于 2013-03-12T17:15:55.340 回答