6

カスタマイズされたオプション メニューを作成しようとしています。このコードを使用した後、次のようになります: Element item is not allowed here

コード:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent">
    <item android:id="@+id/morsoid_settings"
          android:icon="@drawable/ic_new_game"
          android:title="@string/new_game" />
    <item android:id="@+id/morsoid_close"
          android:icon="@drawable/ic_help"
          android:title="@string/help" />
</menu>

インスピレーション: Android 開発者ガイド

4

4 に答える 4

13

それが違いを生むかどうかはわかりませんが、メニューを res/layout ではなく res/menu に配置しましたか?

于 2011-08-08T11:28:45.240 に答える
3

レイアウト属性を省略してみてください。ドキュメントの例を次に示します。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/new_game"
          android:icon="@drawable/ic_new_game"
          android:title="@string/new_game" />
    <item android:id="@+id/help"
          android:icon="@drawable/ic_help"
          android:title="@string/help" />
</menu>

編集-MenuInflaterガイドが示唆するように、を使用していることも確認してください。

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.game_menu, menu);
    return true;
}

実際にメニューリソースである場合、aを使用するLayoutInflaterと、ビュー要素として解釈されます。<menu>

于 2011-03-24T21:26:08.230 に答える
0

コンパイル エラー、またはレイアウト ファイルで開発システムに表示されるエラーについて話していることを 100% 確信できるわけではありません。

上記Idea IntelliJ (10.5)のコード例を menu.xml ファイルに貼り付ける際にエラーが発生しました。

しかし、プロジェクトをビルドした後、それは消えました。menu.xml ファイルの編集時に表示される layout_width / height エラーは引き続き表示されますが、ビルドまたは実行時の動作には影響しません。

于 2011-05-22T07:56:47.523 に答える