Sto creando un'applicazione in cui sto cercando una parola Perticular in visualizzazione testo. Ho un testo di modifica, una visualizzazione di testo e un pulsante, quando inserisco una parola in testo di modifica e facendo clic sul pulsante mi dà la posizione della linea e la posizione della parola in quella linea da tutto il file di testo ... Ho aggiunto il file di testo che contiene nella visualizzazione del testo ... ora la mia domanda è che posso evidenziare tutta la parola che c'è nel testo vista inserita dal testo di modifica. Se posso dirmi come farlo ... se qualcuno ne ha idea?Higlight Particular Word in Text View
risposta
È inoltre possibile farlo utilizzando un Spannable, che è conveniente in quanto si conosce la posizione della parola:
SpannableString res = new SpannableString(entireString);
res.setSpan(new ForegroundColorSpan(color), start, end, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
Dove entireString
è la stringa in w la parola da evidenziare esiste, color
è il colore che vuoi avere il testo evidenziato, start
è la posizione della parola e end
è dove termina la parola (start + word.length()).
Le res SpannableString possono essere applicati al vostro TextView come una corda di regolare:
textView.setText(res);
Nota: Se si desidera che lo sfondo del testo per ottenere un colore piuttosto che il testo stesso, utilizzare un BackgroundColorSpan
anziché ForegroundColorSpan
.
Edit: Nel tuo caso, sarebbe qualcosa di simile (si dovrà salvare il valore di LineCount e indexfound per quando si legge l'intero testo):
for(String test="", int currentLine=0; test!=null; test=br2.readLine(), currentLine++){
if(currentLine==linecount){
SpannableString res = new SpannableString(test);
res.setSpan(new ForegroundColorSpan(0xFFFF0000), indexfound, indexfound+textword.length(), SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
}
tv.append("\n"+" "+test);
}
Sì, è possibile evidenziare una certa parte della visualizzazione del testo scrivendo HTML
String styledText = "This is <font color='red'>simple</font>.";
textView.setText(Html.fromHtml(styledText), TextView.BufferType.SPANNABLE);
uso Spannable per impostare il testo in spannable si può setSpan con cui è possibile evidenziare il testo che si desidera
string ="<font color='#ff0000' > <b>hello</b> </font>"
textview.setText(Html.fromHtml(string))
http://developer.android.com/reference/android/text/Html.html
non è ancora chiaro è possibile aggiornare il mio codice? Ecco il mio codice http: //pastebin.com/BCcHWAgS – Aamirkhan
Ho modificato la mia risposta per adattarla almeno al codice. – Jave
Grazie jave/.... – Aamirkhan