Как обрабатывать как события клика, так и долгого нажатия на gridview android?
Мое требование к приложению - обрабатывать как события нажатия, так и события длительного нажатия в виде сетки.
Я пробовал и то и другое, но не работал, только долго нажимал на событие.
если я удаляю длинное нажатие события, то работает событие щелчка.
Но когда я пытаюсь поставить оба события, то только долгое время работает событие.
так, как я могу реализовать оба события в виде сетки Android.
У меня много дел, но я не могу найти идеальное решение, у кого-то есть решение или идея, а потом выручите меня.
Заранее спасибо.
Код:-
gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> av, View v, int pos, long id) {
onGridItemClick(v,pos,id);
}
});
protected void onGridItemClick(View v, int pos, long id) {
Log.i(TAG, "onItemClick id=" + id);
}
gv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) {
return onLongGridItemClick(v,pos,id);
}
});
protected boolean onLongGridItemClick(View v, int pos, long id) {
Log.i(TAG, "onLongGridItemClick id=" + id);
return true;
}
1 ответ
Вы должны вернуть false в вашем длинном клике слушателя. Таким образом, событие не используется и не передается слушателю щелчка элемента.
protected boolean onLongGridItemClick(View v, int pos, long id) {
Log.i(TAG, "onLongGridItemClick id=" + id);
return false;
}