Ogni volta che il metodo Editaxt suAfterTextChange, viene controllato se viene inserita una stringa speciale (che deriva dalla variabile della funzione), quindi cambia il colore speciale della stringa. Il codice è inferiore aAndroid Edittext Numero estensibile
for(String s:functionList)
{
final Pattern p = Pattern.compile(s);
final Matcher matcher = p.matcher(inputStr);
while(matcher.find())
{
//if(matcher.end() - matcher.start()== s.length())
inputStr.setSpan(new ForegroundColorSpan(Color.parseColor(highlightColor)),
matcher.start(), matcher.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
Il motivo per cui non sto utilizzando il metodo Html.FromHtml è; mi obbliga ad usare il metodo setText che cambia posizione del cursore e poiché il mio edittext è cambiato anche da pulsanti (pulsanti chiama settext) non solo softkeyboard, quel metodo settext rovina la posizione del cursore dal pulsante cambia imposta la posizione del cursore a 0 EVEN IT NON È! !!! quindi non posso aggiungere qualcosa nel mezzo con il softkey (quando provo ad aggiungere, la posizione del cursore è impostata sempre su 0). Questo è il motivo per cui devo usare spannabile.
In ogni caso il mio problema è, ad esempio, uno dei miei testo speciale è "log" .. quando accedo ingresso funziona benissimo (registro), quando il registro di accodamento con carattere di spazio (Ceppo) funziona bene di nuovo ma QUANDO RIMUOVO g dal secondo registro, anche il primo colore di registro è andato !!! (log lo) che non deve essere previsto. Pensa ai registri in grassetto come sono colorati ...
Perché sta succedendo?
La tua lasso assomiglia (in html come sintassi): Ceppo – pskink
Quando ho setText cursore la posizione è passata allo zero finché l'utente non entra con la tastiera software. Possono inserire in entrambi i modi. Html = setText –