Страницы

Поиск по вопросам

вторник, 14 мая 2019 г.

Как описать контекстные меню для нескольких view в одной Activity?

Во всех найденных мною примерах создается меню для одного view. Как создать контекстные меню для нескольких элементов в одной Activity?


Ответ

Так, по идее, можно сделать. Весь код пишем в активити. 1) Находим нужные нам вьюхи и регистрируем их для получения события вызова контестного меню: TextView tV = (TextView) findViewById(R.id.yours_text_view_id); registerForContextMenu(tV);
ImageView iV = (ImageView ) findViewById(R.id.yours_image_view_id); registerForContextMenu(iV); 2) Переопределяем методы активити: @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { switch (v.getId()) { case R.id.yours_text_view_id: menu.add(0, 0, 0, "Получить тест статьи"); menu.add(0, 1, 0, "Комментарии"); menu.add(0, 2, 0, "Открыть в браузере"); break; case R.id.yours_image_view_id: menu.add(0, 3, 0, "Ещё кнопка0"); menu.add(0, 4, 0, "Ещё кнопка1"); menu.add(0, 5, 0, "Ещё кнопка2"); break; } }
@Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case 0: //что-то делаем break; case 1: //что-то делаем break; case 2: //что-то делаем break; case 3: //что-то делаем break; case 4: //что-то делаем break; case 5: //что-то делаем break; case 6: //что-то делаем break; } return super.onContextItemSelected(item); }

Комментариев нет:

Отправить комментарий