Страница 5 из 10
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 02 дек 2012, 09:45
kharbey
Применил метод onMenuOpened(...), все уже правильно работает.
Но все равно вопрос остался, почему при первом запуске onPrepareOptionsMenu срабатывает до вызова меню.
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 15 мар 2013, 18:02
Artem
Здравствуйте.
Подскажите, пожалуйста, как можно создать меню с кнопками внизу, отображаемое постоянно, без нажатия кнопки Menu (например, как в стандартном будильнике, см. вложение).
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 17 мар 2013, 23:04
dens
А там среди стандартных элементов есть же табы (панель с несколькими кнопками), её никак не прилепить?
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 19 май 2013, 21:47
worldmen
Я не понял как делать обработку нажатий в этом меню. Уже урок №15 посмотрел, но там немного не так.
Должно быть что-то вроде этого кода, но что в case писать?
Код: Выделить всё
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case :
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 19 май 2013, 22:22
rezak90
id, которые указаны в том файле который инфлейтили в методе onCreateOptionsMenu
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 22 май 2013, 21:23
worldmen
rezak90 писал(а):id, которые указаны в том файле который инфлейтили в методе onCreateOptionsMenu
Это если меню добавлялось программно: menu.add(0, 1, 0, "add");
А если меню создавалось из xml-файла? Там id - это текст:
Код: Выделить всё
<item
android:id="@+id/menu_add"
android:title="add">
</item>
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 22 май 2013, 21:35
rezak90
worldmen писал(а):rezak90 писал(а):id, которые указаны в том файле который инфлейтили в методе onCreateOptionsMenu
Это если меню добавлялось программно: menu.add(0, 1, 0, "add");
А если меню создавалось из xml-файла? Там id - это текст:
Код: Выделить всё
<item
android:id="@+id/menu_add"
android:title="add">
</item>
где вы текст видите? id будет таким - R.menu.menu_add (подчёркивания не рекомендую использовать в именах id)
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 14 авг 2013, 16:59
sgtraf
Обязательно тут метод суперкласса вводить?
Код: Выделить всё
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.mymenu, menu);
return super.onCreateOptionsMenu(menu);
}
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 15 авг 2013, 10:05
Mikhail_dev
Да. А в чем сомнения?
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 09 окт 2013, 22:11
itAp34
Доброго вечера.
Имею небольшой "затык" при работе с меню через Xml: скопипастил xml-ку из урока - отображается нормально, но при любой попытке работать с ним программно (методы onPrepareOptionsMenu и onOptionsItemSelected) получаю exception.
Видимо где то затупил, но где и как... Буду рад подсказке бывалых )
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 10 окт 2013, 20:45
itAp34
itAp34 писал(а):Доброго вечера.
Имею небольшой "затык" при работе с меню через Xml: скопипастил xml-ку из урока - отображается нормально, но при любой попытке работать с ним программно (методы onPrepareOptionsMenu и onOptionsItemSelected) получаю exception.
Видимо где то затупил, но где и как... Буду рад подсказке бывалых )
Вопрос снимается - разобрался, "сам дурак" )
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 01 дек 2013, 19:19
mihalis
Каким образом в IDE можно добавлять в код активити конструкторы для методов onPrepareOptionsMenu, onOptionsItemSelected и других?
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 01 дек 2013, 19:56
Foenix
начинаешь набирать и нажимаешь ctrl+пробел
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 01 дек 2013, 20:51
mihalis
Спасибо туплю. Начинал набирать "public boolean onCr" , только потом ctrl+пробел и ничего не получалось.
Кстати, кто подскажет зачем этот метод (onCreateOptionsMenu и другие) возвращает boolean? Почему не просто void?
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 01 дек 2013, 21:04
Foenix
http://developer.android.com/reference/ ... view.Menu)
по таким вопросам - вот на этот сайт добро пожаловать.
Returns
You must return true for the menu to be displayed; if you return false it will not be shown.
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 01 дек 2013, 21:24
mihalis
Спасибо. Это я тоже видел. Поставлю вопрос по другому. В чем фишка получать этот true таким образом:
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 01 дек 2013, 21:53
Foenix
это не "получать", это вызов метода суперкласса!!!
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 01 дек 2013, 23:51
mihalis
Можешь пояснить? Или ткнуть носом где прочитать. Почему не просто написать return true&
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 02 дек 2013, 07:09
Foenix
Потому, что нужно вначале выполнить метод суперкласса, а затем, возвращать значение. Если написать то, что ты сказал, то метод суперкласса не сработает. При этом возможно ошибка или то, что компонент вообще не появится на экране (смотря что в этом методе содержится).
Гугли по словам ООП наследование.
Re: Урок 14. Меню, группы, порядок. MenuInflater и xml-меню.
Добавлено: 02 дек 2013, 20:18
mihalis
Foenix писал(а):Потому, что нужно вначале выполнить метод суперкласса, а затем, возвращать значение. Если написать то, что ты сказал, то метод суперкласса не сработает. При этом возможно ошибка или то, что компонент вообще не появится на экране (смотря что в этом методе содержится).
Гугли по словам ООП наследование.
Я имею некое представление о наследовании в ООП. В упор не понимаю при чем оно здесь.
Вот гайд на андройд девелоперс. Это приведенный пример. Возвращают просто
true.
Код: Выделить всё
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.game_menu, menu);
return true;
}