6

Sto usando un EditText per scrivere del testo. L'auto-suggerimento di Android sottolinea la parola, finché non colpiamo lo spazio. Ora, se inserisco la parola senza lo spazio, il testo risultante ha una sottolineatura. È perché utilizzo Html.toHtml (view.getText()).Come rimuovere la sottolineatura automatica di Android sottolineando in EditText?

Ora ci sono alcune risposte che mi aspetto, come disabilitare il suggerimento automatico o utilizzare view.getText(). ToString(), ma ho bisogno di entrambi. Ho bisogno della funzione di autosuggerimento e della formattazione del testo. Un esempio che risolve questo problema è l'app Gmail. Puoi scrivere quello che vuoi nella casella EditText e invia l'e-mail senza che le parole siano sottolineate.

+0

Correggimi se ho sbagliato, ma la linea rossa è parte della funzione di autosuggerimento. Come puoi volere il suggerimento automatico ma non la linea rossa? –

+0

@LawrenceChoy Quando sto digitando qualcosa nella casella EditText, desidero i suggerimenti automatici. Ma quando analizzo il testo in HTML, non voglio lo stile sottolineato a causa di quella caratteristica. Ho trovato davvero strano che l'analisi di quel testo catturasse la sottolineatura perché pensavo che sarebbe stata una funzionalità di basso livello. Ora voglio sbarazzarmene, senza ostacolare nessun'altra formattazione del testo nella casella EditText, ma non riesco a capire come. – addybist

risposta

8

Utilizzare questo prima di getText(). Questo è il modo più diretto e ufficiale.

edittext.clearComposingText(); 
2

fare in questo modo

android:inputType="text|textNoSuggestions" 
+0

Come ho detto, voglio usare la funzione di suggerimento automatico. Disabilitando si eliminerebbe la sottolineatura, ma si rimuoveva anche la funzione. – addybist

+0

Questo non funziona in Samsung Galaxy S4 – Vinnie

1

Ho appena si avvicinò con una soluzione per questo. Dopo aver inviato il testo, basta nascondere la tastiera e la sottolineatura del testo scompare.

+0

Puoi dirmi esattamente come lo hai fatto? Perché sebbene eseguo prima la funzione Nascondi tastiera e poi la funzione da html, il secondo comando viene eseguito prima del completamento del primo. (Posso premere un pulsante e disabilitare la tastiera (questo rimuove la sottolineatura) e quindi premere di nuovo un tasto per ottenere il contenuto in html, ma come posso fare entrambi con un solo clic? C'è un modo per disabilitare la tastiera in modo che la riga successiva funzionerebbe solo dopo che la tastiera si è nascosta e tutto è stato completato?) – SadeepDarshana

+0

Questo era molto indietro ma penso che ho affrontato un problema simile, quindi ho fatto in modo che il thread dormisse per un paio di millisecondi. Non è il modo migliore per farlo, ma non sono riuscito a trovare una soluzione migliore. @SadeepDarshana ha pubblicato una buona soluzione, quindi l'ho contrassegnata come risposta accettata. – addybist