Во всех найденных мною примерах создается меню для одного 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);
}
Комментариев нет:
Отправить комментарий