Je veux demander comment changer et sélectionner un seul événement sous ListView. Mon code ci-dessous fonctionne. Mais lorsque l'OnitemLongClick incendie, l'Onitemclick incendie également. Comment puis-je changer l'événement où un seul événement sera détecté:
lstResult.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) { // TODO Auto-generated method stub //showToast(arg0.getItemIdAtPosition(position) + ""); String str = searchWhere(lstResult.getItemAtPosition(position) + ""); String word = lstResult.getItemAtPosition(position).toString(); showDialog(word,str); } }); lstResult.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int position, long arg3) { // TODO Auto-generated method stub showToast(lstResult.getItemAtPosition(position) + ""); return false; } });
3 Réponses :
Lorsque vous retournez FALSE sur votre OnImLongClickLicklistener de sorte que cela ne serait pas incendié, vous pouvez donc définir une variable booléenne pour basculer entre vos auditeurs P>
retour booléen true à la fin de OnitemlongClick. P>
de la documentation: "TRUE si le rappel a consommé le long clic, faux sinon"
Selon Documentation de OnitemLongClickListener: P>
retourne vrai si le rappel a consommé le long clic, faux sinon p> blockQuote>
Vous devez retourner
true code> si le clic long est tiré. p>