У меня есть одна кнопка с именем CheckIn. Посмотрите на мой код.Выполните как обычный щелчок, так и длинный щелчок на кнопке
checkIn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(HomeSafeActivity.this, "Normal Press", Toast.LENGTH_LONG).show();
});
checkIn.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(HomeSafeActivity.this, "Long press", Toast.LENGTH_LONG).show();
return false;
}
});
Теперь, когда я нормально нажмите кнопку сообщение отображается как Normal press.When я Длительное нажатие кнопки сообщение показывает, как длительное нажатие, а также Normal нажмите обе. Что я хочу, когда я долгое время нажимаю кнопку, только длительное событие прессования должно вызывать не нормальное событие прессования. Как я могу это достичь?
Отключить onClickListener() внутри onLongClickListener(). Это может быть один из вариантов. Я не уверен, что это работает, просто уволили идеи :) – ClaireG
Я думаю, что @ClaireG прав. Попробуйте это решение. –
Поместите флаг как в функции 'onClick', так и' onLongClick', чтобы взаимно исключить друг друга (через оператор 'if'). Вы не можете удалить одно из двух событий, если у вас есть оба слушателя. – g00dy