Я пытаюсь создать индивидуальное меню опций. После использования этого кода я получаю: Элемент элемента не разрешен здесь
Код:
<?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 dev guide
Я не знаю, имеет ли это значение, но вы разместили меню в res / menu, а не в res / layout?
Попробуйте оставить атрибуты макета. Вот пример из документации:
<?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; }
Использование LayoutInflater
приведет к тому, что <menu>
будет интерпретироваться как элемент вида, когда он на самом деле является ресурсом меню.
Не 100% уверены, что вы говорите об ошибке компиляции или о ошибках, отображаемых в вашей системе разработки, в то время как в файле макета.
Используя Idea IntelliJ (10.5)
я получил эту ошибку, вставив приведенный выше примерный код в файл menu.xml.
Однако после завершения проекта он исчез. Я все еще вижу ошибки layout_width / height, которые вы видите при редактировании файла menu.xml, но это не влияет на поведение сборки или выполнения.