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

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

Войти
Регистрация
Восстановить пароль
 
correcеt
 Аватар для correcеt
-1 / 3 / 1
Регистрация: 20.04.2011
Сообщений: 412
26.12.2015, 19:46     Обработка нажатия элементов контекстного меню #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 CheckBox обработка события нажатия
Обработка нажатия по координатам Android
Группы для контекстного меню Android
Android Создание контекстного меню в списках
Android Обработка нажатия CheckBox в ListView
Обработка нажатия на RadioButton Android
Обработка длительного нажатия Android
Обработка нажатия на часть элемента списка Android
Обработка нажатия кнопок Android
Android Обработка длительного нажатия
Android AlertDialog обработка нажатия PositiveButton
Android Обработка нажатия кнопок

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
 Аватар для YuraAAA
1563 / 1305 / 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     Обработка нажатия элементов контекстного меню
Ответ Создать тему
Опции темы

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