Страница 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 таким образом:

Код: Выделить всё

return super.onCreateOptionsMenu(menu);

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;
}