Урок 15. Контекстное меню

Обсуждение уроков
seeyoul8r
Сообщения: 5
Зарегистрирован: 25 окт 2013, 20:05

Re: Урок 15. Контекстное меню

Сообщение seeyoul8r » 31 окт 2013, 19:17

Кажись, понял. Именно поэтому мы и "ищем" вью-элементы, чтобы потом спокойно работать с ними в коде с помощью findViewById. Так? А можно ли обойтись без этого метода и продолжать использовать R.id.x. Это не для практического применения, а для лучшего понимания.

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 15. Контекстное меню

Сообщение KamiSempai » 31 окт 2013, 19:58

Id- это просто целое число сгенерированное системой. Вы можете использовать его как вам угодно.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

mihalis
Сообщения: 17
Зарегистрирован: 28 ноя 2013, 23:32

Re: Урок 15. Контекстное меню

Сообщение mihalis » 01 дек 2013, 20:54

Подскажите, а что нет возможности получить от item в методе onContextItemSelected получить view, для которого было вызвано контекстное меню и соответственно выбран это item.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 15. Контекстное меню

Сообщение Foenix » 01 дек 2013, 21:04

конечно есть
только контекстное меню не рекомендуется давно к использованию, поэтому советую его заменить.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

mihalis
Сообщения: 17
Зарегистрирован: 28 ноя 2013, 23:32

Re: Урок 15. Контекстное меню

Сообщение mihalis » 01 дек 2013, 21:28

Я это применительно к этому уроку. Мы тут вот хардкодили tvColor

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

switch (item.getItemId()) {
  case MENU_COLOR_RED:
  tvColor.setTextColor(Color.RED);
  tvColor.setText("Red");
  break;
Подскажите как получить это view от item? Справкой я пока не научился пользоваться на должном уровне.

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Урок 15. Контекстное меню

Сообщение IgNa » 02 дек 2013, 07:58

Foenix писал(а):конечно есть
только контекстное меню не рекомендуется давно к использованию, поэтому советую его заменить.
А если поподробнее...
-Почему не рекомендуется
-На что его предлагается заменять
Последний раз редактировалось IgNa 02 дек 2013, 08:15, всего редактировалось 1 раз.
Изображение

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Урок 15. Контекстное меню

Сообщение IgNa » 02 дек 2013, 08:15

На самом деле у меня есть два серьезных вопроса по контекстному меню
1) в данном уроке, есть такие обязательные строки, существования контекстного меню
registerForContextMenu(tvColor);
registerForContextMenu(tvSize);
то есть - каждое контекстное меню нужно привязать к опред. view элементу.
Мне это не подходит, потому что тогда мои картинки не будут драгаться ( drag&drop)
И приходится создавать какой-нить невидимый view элемент - только для регистрации меню, а применять уже с картинками.
Может существует более удачное решение ?

2) И второе- можно ли где то взглянуть на стили для контекстного меню ( в графическом представлении) и прочитать как их прикреплять?
Андройд2.2
Изображение

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 15. Контекстное меню

Сообщение Foenix » 02 дек 2013, 16:46

IgNa писал(а):
Foenix писал(а):конечно есть
только контекстное меню не рекомендуется давно к использованию, поэтому советую его заменить.
А если поподробнее...
-Почему не рекомендуется
-На что его предлагается заменять
А если поискать на сайте девелопер-андроид?
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Урок 15. Контекстное меню

Сообщение IgNa » 02 дек 2013, 16:47

На самом деле у меня есть два серьезных вопроса по контекстному меню
1) в данном уроке, есть такие обязательные строки, существования контекстного меню
registerForContextMenu(tvColor);
registerForContextMenu(tvSize);
то есть - каждое контекстное меню нужно привязать к опред. view элементу.
Мне это не подходит, потому что тогда мои картинки не будут драгаться ( drag&drop)
И приходится создавать какой-нить невидимый view элемент - только для регистрации меню, а применять уже с картинками.
Может существует более удачное решение ?

2) И второе- можно ли где то взглянуть на стили для контекстного меню ( в графическом представлении) и прочитать как их прикреплять?
Андройд2.2
Изображение

neomarat
Сообщения: 1
Зарегистрирован: 21 июн 2013, 15:49

Re: Урок 15. Контекстное меню

Сообщение neomarat » 05 дек 2013, 10:38

Как получить выделенный текст в TextView по долгому тапу. В идеале, чтобы не выплывало стандартное меню Copy, Select All. Если использовать свое собственное контекстное меню - текст не выделяется.
Т.е. нужно реализовать следующий алгоритм: пользователь выделил слово долгим тапом, и оно попало во встроенный словарь сразу. Как это сделать? Спасибо.

ruba123
Сообщения: 2
Зарегистрирован: 10 янв 2014, 16:33

Re: Урок 15. Контекстное меню

Сообщение ruba123 » 10 янв 2014, 16:39

Может немного не по теме урока, но все же, подскажите пожалуйста, почему при вводе метода onContextItemSelected, или onCreateContextMenu нет автозавершения и даже подсказок что такой метод есть?? То есть получается надо знать каждый метод по имени??? Я новичок в программировании под андроид, так что прошу извинить если вопрос тупой:) P.S. Использую Intellij Idea 13.

TittTitov
Сообщения: 27
Зарегистрирован: 20 ноя 2013, 22:46

Re: Урок 15. Контекстное меню

Сообщение TittTitov » 13 янв 2014, 21:38

Доброго времени суток!

Ребят, подскажите, плиз, хмл файл для контекстного меню создаётся в папке res/menu или требуется создать отдельную папку для такого меню? Спасибо!

Аватара пользователя
IgNa
Сообщения: 345
Зарегистрирован: 30 сен 2013, 12:18

Re: Урок 15. Контекстное меню

Сообщение IgNa » 13 янв 2014, 21:45

Спасибо за спасибо)
Изображение

korosteleff
Сообщения: 3
Зарегистрирован: 05 фев 2014, 11:54

Re: Урок 15. Контекстное меню

Сообщение korosteleff » 05 фев 2014, 12:21

Коллеги, приветствую !
Второй день уже смотрю эти уроки, в конце этого урока Виталий сказал попробовать создать эти меню с помощью XML файлов, я так и сделал. При нажатии на View'ы меню вылазит, но при выборе конкретного пункта меню отработка события не проходит. Как пробовал выяснять в чём проблема: с помощью

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

Toast.makeText(this, item.getItemId(), Toast.LENGTH_SHORT).show();
попробовал вывести значение Id пункта меню, там вообще вылазит "false", пробовал обработку по getTitle, но опять на сколько я понял "case" не может обрабатывать текстовые переменные (только цифры).
Вообщем проблема с идентификацией выбранного пункта меню...
Но как правильно сделать чтобы обрабатывало ?
XML меню выглядит так

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

<?xml version="1.0" encoding="utf-8"?>
<menu
 xmlns:android="http://schemas.android.com/apk/res/android">
<item
 android:id="@+id/MENU_COLOR_RED"
 android:title="Red">
</item>
<item
 android:id="@+id/MENU_COLOR_GREEN"
 android:title="Green">
</item>
<item
 android:id="@+id/MENU_COLOR_BLUE"
  android:title="Blue">
</item>
</menu>

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 15. Контекстное меню

Сообщение Foenix » 05 фев 2014, 12:38

контекстное меню устарело,бросьте вы этот урок. Смотрите урок ниже - альтернатива контекстному меню
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

korosteleff
Сообщения: 3
Зарегистрирован: 05 фев 2014, 11:54

Re: Урок 15. Контекстное меню

Сообщение korosteleff » 05 фев 2014, 13:25

Ок, надеюсь Вы правы, мне тоже дорого своё время... )))

Аватара пользователя
gurjubat
Сообщения: 4
Зарегистрирован: 06 ноя 2013, 20:17
Откуда: Башкортостан

Re: Урок 15. Контекстное меню

Сообщение gurjubat » 19 фев 2014, 20:48

немножко не туда конечно но вы уж простите :з ..
такой вопрос..
допустим у меня 3 активити и на каждом текстВиев, я хочу сделать так что б при нажатие на кнопку меню выходили настройки к примеру поменять цвет текста.. эт получается мне надо на каждой активити писать код или достаточно на майнактивити один раз прописать а затем объединить все текстВиевы?

andreyua
Сообщения: 4
Зарегистрирован: 25 фев 2014, 19:55

Re: Урок 15. Контекстное меню

Сообщение andreyua » 25 фев 2014, 23:46

Объясните пожалуйста , как вызывать контекстное меню на главном экране , а не на элементах view... ?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 15. Контекстное меню

Сообщение Foenix » 25 фев 2014, 23:53

контекстное меню устарело. забудь про него.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

hysteresis
Сообщения: 51
Зарегистрирован: 28 ноя 2013, 03:20
Откуда: UA

Re: Урок 15. Контекстное меню

Сообщение hysteresis » 02 мар 2014, 21:10

подскажите, пожалуйста, обязательно ли перед переменной int указывать ключевое слово final ? Как написано в ООП, в этом случае final защищает поле от изменения. Можете пояснить, для чего так сделали?

Ответить