Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
correcеt
-1 / 3 / 1
Регистрация: 20.04.2011
Сообщений: 412
#1

Обработка нажатия элементов контекстного меню - Программирование Android

26.12.2015, 19:46. Просмотров 169. Ответов 1
Метки нет (Все метки)

Здравствуйте!
Выполняю ДЗ по урокам андройд и вот с чем столкнулся.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
public class MainActivity extends AppCompatActivity {
    TextView tvColor, tvSize;
    final int MENU_COLOR_RED=1;
    final int MENU_COLOR_GREEN=2;
    final int MENU_COLOR_BLUE=3;
    final int MENU_SIZE_22=4;
    final int MENU_SIZE_26=5;
    final int MENU_SIZE_30=6;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        tvColor=(TextView)findViewById(R.id.tvColor);
        tvSize=(TextView)findViewById(R.id.tvSize);
 
        registerForContextMenu(tvColor);
        registerForContextMenu(tvSize);
 
    }
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
 
 
    switch (v.getId()){
            case R.id.tvColor:
 
//                menu.add(0,MENU_COLOR_RED,0,"RED");
//                menu.add(0,MENU_COLOR_GREEN,0,"GREEN");
//                menu.add(0,MENU_COLOR_BLUE,0,"BLUE");
                getMenuInflater().inflate(R.menu.menu_color, menu);
                  break;
 
            case R.id.tvSize:
//                menu.add(0,MENU_SIZE_22,0,"22"); //
//                menu.add(0,MENU_SIZE_26,0,"26");
//                menu.add(0,MENU_SIZE_30,0,"30");
                getMenuInflater().inflate(R.menu.menu_size, menu);
                  break;
 
        }
      super.onCreateContextMenu(menu, v, menuInfo);
   }
 
    @Override
    public boolean onContextItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case MENU_COLOR_RED:
                tvColor.setTextColor(Color.RED);
                tvColor.setText("Text color red");
                break;
            case MENU_COLOR_GREEN:
                tvColor.setTextColor(Color.GREEN);
                tvColor.setText("Text color green");
                break;
            case MENU_COLOR_BLUE:
                tvColor.setTextColor(Color.BLUE);
                tvColor.setText("Text color blue");
                break;
            case MENU_SIZE_22:
                tvSize.setTextSize(22);
                tvSize.setText("text size 22");
                break;
            case MENU_SIZE_26:
                tvSize.setTextSize(26);
                tvSize.setText("text size 26");
                break;
            case MENU_SIZE_30:
                tvSize.setTextSize(30);
                tvSize.setText("text size 30");
                break;
        }
        return super.onContextItemSelected(item);
    }
Код рабочий,но как, меню выводится,однако ничего ен происходит по нажатию ан элементы.
Понимаю,что с обработчиком что-то нужно делать,А что?
Обработка нажатия элементов контекстного меню
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2015, 19:46     Обработка нажатия элементов контекстного меню
Посмотрите здесь:

Группы для контекстного меню - Программирование Android
При создании обычного меню используется метод onPrepareOptionsMenu, где задается отображение группы. А как быть с контекстным в этом случае?

Создание контекстного меню в списках - Программирование Android
Не понимаю как прикрепить контекстное меню к с писку. Что бы при нажатии на элемент вызывалось это меню и можно было проводить с этим...

Обработка длительного нажатия - Программирование Android
Добрый День! Пишу на libGdx и столкнулся с проблемой: нужно считывать время нажатия на экран. В зависимости от время нажатия на экран будут...

Обработка длительного нажатия - Программирование Android
В игре нужно перемещать предмет тогда, когда палец на экране: пальцем касаюсь экрана (не важно, в какой области и сколько времени) и...

Обработка нажатия по координатам - Программирование Android
Есть ImageView (.png). Нужно обработать нажатия через OnTouchListener в 3-х местах этого png файла. Область каждого нажатия - круг...

Обработка нажатия на RadioButton - Программирование Android
Постигаю андроид. Не могу разобраться со свичем. EditText принимает число, сохранил его, дальше выбираю RadioBatton и нифига не...

CheckBox обработка события нажатия - Программирование Android
Проблема в следующем. Есть своего рода каталог картинок возле которой стоит checkbox. Человек нажимает на него, в базу записывается номер...

AlertDialog обработка нажатия PositiveButton - Программирование Android
Можно сделать так чтобы при нажатии на PositiveButton диалог не закрывался? AlertDialog.Builder builder = new...

Обработка нажатия на часть элемента списка - Программирование Android
Как в Android обработать нажатие не на весь элемент списка ListView, а на отдельный его элемент? onItemClickListener обрабатывает вроде...

Обработка нажатия каждого элемента List View - Программирование Android
Доброго времени суток! Нужна помощь в реализации нажатия на элемент лист вью. Необходимо присвоить каждому в списке элементу переход на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1566 / 1308 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
26.12.2015, 20:02     Обработка нажатия элементов контекстного меню #2
Цитата Сообщение от correcеt Посмотреть сообщение
switch (item.getItemId()){
* * * * * * case MENU_COLOR_RED:
Вы должны использовать не эти константы, а из R.menu....
Yandex
Объявления
26.12.2015, 20:02     Обработка нажатия элементов контекстного меню
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru