"Нет клавиатуры для идентификатора 0"? - PullRequest
0 голосов
/ 14 октября 2010

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

У меня есть два действия: «ActivityOne» и «ActivityTwo», где «ActivityTwo» является дочерним действием «ActivityOne».В обоих действиях я определил параметры кнопки меню, например:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);
    MenuItem insertMenuItem = menu.add(0, INSERT_ID, 0, R.string.menu_insert);
    insertMenuItem.setIcon(R.drawable.ic_menu_add);

    MenuItem settingMenuItem = menu.add(0, SETTING_ID, 0, R.string.menu_setting);
    settingMenuItem.setIcon(R.drawable.ic_menu_settings);

    MenuItem aboutMenuItem = menu.add(0, ABOUT_ID, 0, R.string.menu_about);
    aboutMenuItem.setIcon(R.drawable.ic_menu_about);

    logPrinter.println("creating menu options...");

    return true;
}

@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
    switch(item.getItemId()) {
        case INSERT_ID:
            doInsert();
            return true;
        case SETTING_ID:
         return true;
        case ABOUT_ID:
         showAbout();
         return true;
    }

    return super.onMenuItemSelected(featureId, item);
}

В «ActivityOne», когда я нажимаю физическую кнопку меню, нет опций меню, всплывающих из нижней части экрана, когда я проверялв консоли LogCat есть два предупреждения сообщений: « Нет клавиатуры для идентификатора 0 » и « Использование стандартной таблицы ключей: /system/usr/keychars/qwerty.kcm.bin".

НО, в "ActivityTwo" кнопка меню работает нормально, она показывает те опции меню, которые я определил.

Почему кнопка меню не работает в "ActivityOne" ??Что означает сообщение с предупреждением ???

1 Ответ

0 голосов
/ 14 октября 2010

«Нет клавиатуры для id 0» ничего не значит.

Теперь, вы определили onCreateOptionsMenu в обоих действиях? Если нет, сделайте это.

Также используйте onOptionsItemSelected вместо onMenuItemSelected.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...