Réponses:
Des auditeurs d'événements :
onLongClick () - Cela retourne un booléen pour indiquer si vous avez consommé l'événement et qu'il ne doit pas être porté plus loin. Autrement dit, retournez true pour indiquer que vous avez géré l'événement et qu'il doit s'arrêter ici; retourne false si vous ne l'avez pas géré et / ou que l'événement doit se poursuivre vers tous les autres écouteurs au clic.
Êtes-vous de retour true
de votre onLongClick()
événement et recevez-vous toujours l'événement de clic normal?
Modifié pour ajouter : Pour un ListView, vous utilisez peut-être OnItemLongClickListener
. L' onItemLongClick()
il utilise une valeur de retour booléen similaire pour indiquer si elle a consommé l'événement.
Répétant la réponse en termes plus simples:
Donné:
@Override
public boolean onLongClick(View view) {
return true; // or false
}
return true
signifie que l'événement est consommé. C'est manipulé. Aucun autre événement de clic ne sera notifié.return false
signifie que l'événement n'est pas consommé. Tous les autres événements de clic continueront de recevoir des notifications.Donc, si vous ne voulez onClick
pas être également déclenché après un onLongClick
, vous devriez le faire à return true
partir de l' onLongClick
événement.
Assurez-vous que vous remplacez OnClickListener
votre onClick
méthode. Assurez-vous également que vous remplacez OnLongClickListener
votre onLongClick
méthode. Et assurez-vous que votre onLongClick
méthode retourne true
, car cela consommera le fichier onClick
.
Vous pouvez implémenter la setOnLongClickListener
création d'une instance de new View.OnClickListener()
ou new View.OnLongClickListener()
, si vous créez un clic long et implémentez un OnclickListener normal, vous obtiendrez ces erreurs de simple clic activant la méthode. Vous devez utiliser new View.OnLongClickListener()
pour capturer uniquement les longs clics
myListView.setOnItemLongClickListener(this);
option, vous devrez remplacer la fonctionpublic boolean onItemLongClick(...)
. Ici, vous avez simplement besoin dereturn true
ce qui indique que le LongClick a été activé et annulera le déclencheur sur le clic normal. Si vous retournez false, cela déclenchera également le clic normal.