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)

有谁知道为什么?

4

2 回答 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;
}
于 2013-09-02T17:36:43.733 回答
0

菜单 xml 文件应位于菜单目录下。这就是为什么找不到类的原因。

于 2016-02-24T15:03:25.160 回答