2016-07-05 25 views
5

Ho un elenco di visualizzazione di indirizzi Web in un controllo ListView. Ogni elemento di ListView ha un TextView e un ImageView. TextView ha attributo autolink = "web".autoLink con evento onClick

Ho anche un evento: onItemLongClick in questo ListView per aprire i dettagli reciproci. Ma quando faccio un evento di clic lungo su ciascun elemento nell'elenco, aprono la nuova pagina e aprono anche il browser con il sito Web di collegamento in TextView.

Come posso impostare quando onItemLongClick, TextView non può fare clic sul collegamento? Provo a impostare TextView.setLinkClickable (false) ma non funziona.

Molte grazie

risposta

1

È possibile ottenere ciò che si desidera in questo modo.

  1. sul .xml, aggiungere questo al TextView:

    TextView ... Android: autoLink = "web" android: textIsSelectable = "true"

  2. sul codice utilizzare il comportamento del clic ListView e il comportamento di longClick.

+0

Non funziona :( –

+0

L'ho provato con Android Studio su dispositivi reali con MM. Inserisci un po 'di codice, forse il problema è altrove. – JJ86

+0

@ TrươngVũNgọc my bad, evitare l'inserimento di textView.setLinksClickable (false), Modificherò la mia risposta: – JJ86

1

U può provare a utilizzare: -

Linkify.addLinks (txtView, Linkify.ALL);

+0

Scusa, penso che tu abbia perso la mia domanda. Btw, non è funzionante –

1

nel metodo onItemLongClick(), tornare true per indicare che si è consumato l'evento click e non dovrebbe essere trasmesso a tutti gli altri ascoltatori.

Secondo la documentazione, il valore di ritorno è descritto come -

booleano vero se la richiamata consumata la lunga clic, altrimenti false

Tornando vera volontà NON passare la evento di clic lungo, che è anche un evento click, allo OnItemClickListener.

+0

Ho provato quella soluzione ma non funziona –

Problemi correlati