Я пытаюсь создать контекстное меню, которое появляется, когда я держу палец (длинный) на изображении в виде сетки.Показать контекстное меню на imagegridview
Теперь В фрагменту, который создает GridView я это сделал:
OnCreate:
imageGrid.setAdapter(ImageAdapter);
Где ImageAdapter мой индивидуальный класс, который делает работу для меня.
Кроме того, в том же фрагменте я получил
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle()=="Action1"){
Log.d("Debug","Clicked");
}
else {
return false;
}
return true;
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Context Menu");
menu.add(0, v.getId(), 0, "Action 1");
menu.add(0, v.getId(), 0, "Action 2");
}
Тогда в моем классе адаптера Я зарегистрировал longOnclickListener так:
private class selectOnLongClickListener implements View.OnLongClickListener{
private ViewHolder mViewHolder;
private selectOnLongClickListener(ViewHolder viewHolder)
{
mViewHolder = viewHolder;
}
@Override
public boolean onLongClick(View v)
{
Log.d("Debug","OnLongClick");
return true;
}
}
Слушатель работает, он выводит меня отладочную когда Я долго держу палец на изображении. Но контекстное меню никогда не отображается. Я делаю что-то неправильно?
Я работаю с фрагментами, мне нужно сделать getActivity(). This.openContextMenu (v)? – user1480139
Да, это все, getActivity(). OpenContextMenu (v) –
Я не могу использовать это, потому что мой класс адаптера распространяется из baseAdapter, поэтому я не могу использовать getActivity(). – user1480139