Меню параметров не наполняется из xml

У меня возникли проблемы с расширением меню параметров из xml. Вот мой код:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // TODO Auto-generated method stub
    super.onCreateOptionsMenu(menu);

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
} 

Он работает нормально, когда я нажимаю кнопку меню на эмуляторе, но нет строки меню, когда я запускаю его на реальном устройстве, на котором работает ics.


person Denizen    schedule 08.07.2012    source источник


Ответы (1)


Кнопка меню была удалена с устройств под управлением Android 3.0 и выше и теперь считается «устаревшей». Есть хороший пост в блоге о том, почему, как использовать новую панель действий и как сохранить устаревшую поддержку старых приложений:

Если ваше приложение работает на устройстве без специальной кнопки меню, система решает, следует ли добавить переполнение действия на панель навигации, в зависимости от того, какие уровни API вы объявили для поддержки в элементе <uses-sdk> манифеста. Логика сводится к следующему:

  • Если вы установите для minSdkVersion или targetSdkVersion значение 11 или выше, система не добавит устаревшую кнопку переполнения.
  • В противном случае система добавит устаревшую кнопку переполнения при работе на Android 3.0 или более поздней версии.
  • Единственным исключением является то, что если вы установите minSdkVersion на 10 или ниже, установите targetSdkVersion на 11, 12 или 13 и не используете ActionBar, система добавит устаревшую кнопку переполнения при запуске вашего приложения на телефоне с Android 4.0 или выше.

Если вы только начинаете разработку Android или создаете новое приложение, не используйте такое меню, а используйте панель действий.

Помощники доступны в "Библиотеке поддержки" для обратной совместимости. :

Панель действий не поддерживается библиотекой. Однако при создании меню параметров вы можете объявить, какие элементы следует добавить на панель действий, когда она будет доступна (на Android 3.0 или более поздней версии).

person Lukas Knuth    schedule 08.07.2012