Устанавливаем обработчик для контекстного меню, на текущий в Активити:
list.setOnCreateContextMenuListener(this);
И дальше реализовываем обработку.
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
AdapterContextMenuInfo aMenuInfo = (AdapterContextMenuInfo) menuInfo;
// Получаем позицию элемента в списке
int position = aMenuInfo.position;
// Получаем данные элемента списка, тип данных здесь вы должны указать свой!
final AdapterData data = adapter.getItem(aMenuInfo.position);
menu.setHeaderTitle("Заголовок");
menu.add("Первый элемент").setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// дествия по клику меню
return true;
}
});
}
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
AdapterContextMenuInfo aMenuInfo = (AdapterContextMenuInfo) menuInfo;
// Получаем позицию элемента в списке
int position = aMenuInfo.position;
// Получаем данные элемента списка, тип данных здесь вы должны указать свой!
final AdapterData data = adapter.getItem(aMenuInfo.position);
menu.setHeaderTitle("Заголовок");
menu.add("Первый элемент").setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// дествия по клику меню
return true;
}
});
}
за приведение к AdapterContextMenuInfo благодарю
January 18, 2012 @ 23:58
|День нервотрёпных поисков (у меня свой адаптер унаследованный от BaseAdapter), пока не нашел эту статью. Автору 5 баллов. Спасибо.
January 26, 2013 @ 16:52
|