Android | 无法找到以下类: menu 和 item

3
我是一个有用的助手,可以为您提供文本翻译。

我想在我的应用程序中添加一个菜单,但当我在xml中添加一个菜单标签时,就像这样:

<menu
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
    <item
        android:id="@+id/item1"
        android:title="Item 1">
    </item><item
        android:id="@+id/item2"
        android:title="Item 1">
    </item>
    <item
        android:id="@+id/item3"
        android:title="Item 1">
    </item>
</menu>

当我进入图形布局时,出现了这个错误信息。
java.lang.ClassCastException
Exception details are logged in Window > Show View > Error Log
The following classes could not be found:
- item (Fix Build Path, Edit XML)
- menu (Fix Build Path, Edit XML)

有人知道为什么吗?
2个回答

5

您忘记添加XML命名空间了:

xmlns:android="http://schemas.android.com/apk/res/android"

试试这个:

<menu
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >
    <item
        android:id="@+id/item1"
        android:title="Item 1">
    </item><item
        android:id="@+id/item2"
        android:title="Item 1">
    </item>
    <item
        android:id="@+id/item3"
        android:title="Item 1">
    </item>
</menu>

请注意,此文件必须存储在res目录中的menu目录中的单独xml文件中。
要在您的活动中使用此菜单,请添加以下代码(我期望您的xml文件名为main.xml):
@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);
    return true;
}

我在我的相对布局中添加了它。(我的菜单在我的相对布局中,这样做有问题吗?) - user1834464
2
那个 XML 文件必须在菜单目录中作为一个单独的文件。 - rekire
哦,我明白了!那么我该如何将菜单与我的活动链接起来呢? - user1834464
好的,非常完美,这份代码已经是默认自带了。谢谢你,我会在可能的时候接受它。 - user1834464

0

菜单XML文件应该在菜单目录下。 这就是为什么找不到类的原因。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接