Я предполагаю, что вы настраиваете прослушиватель кликов непосредственно на каждом из видов, соответствующих элементам в списке, возможно, в getView
метод вашего ListAdapter
с кодом похож на это:
itemView.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(final View v)
{
// DO SOMETHING
}
});
Если вы сделаете это, то OnClickListeners
на этих представлениях переопределения слушателя набор на ListView
уровне (с registerForContextMenu(listView)
) и ваше контекстное меню никогда не дозвонились по длинному клику.
Правильный путь, чтобы установить меню (с длинным щелчком мыши) и ваш клик слушателя как на ListView
уровне:
registerForContextMenu(listView);
listView.setOnItemClickListener(
new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int position, long l) {
// DO SOMETHING
// selected item is a.getAdapter().getItem(position);
}
});
PS: Я отвечаю, потому что у меня была такая же проблема, и я чувствую принятый ответ с setOnLongClickListener
, вероятно, не рекомендуется для этого, если вам нужно контекстное меню.
ура я получил – akd
@akdurmus: Хорошая работа! – hwrdprkns