Jeśli skopiuję/wkleję tekst z Chrome na Androida do mojego widoku EditText, zostanie on pomieszany, najwyraźniej ze względu na formatowanie tekstu sformatowanego.Wklej bez formatowania tekstu sformatowanego do EditText
The font size is totally messed up and not that big http://erikmi.tk/WaeG/image.png
Czy istnieje sposób, aby powiedzieć pogląd EditText ignorować formatowanie tekstu? Czy mogę złapać wydarzenie wklejania i usunąć je, zanim zostanie ono ustawione? Jak to zrobić?
UPDATE: więc zdałem sobie sprawę, że editText.getText()
daje mi SpannableString
który zawiera niektóre elementy formatowania. Mogę się tego pozbyć, dzwoniąc pod numer .clearSpans();
. ALE nie mogę zrobić czegoś takiego w editText.addTextChangedListener(new TextWatcher() { … }
, ponieważ robi się strasznie wolno, a interfejs użytkownika aktualizuje się tylko wtedy, gdy opuszczam widok editText.
To wygląda jakby rozumie EditText Formatowanie rtf, ponieważ nie widać tekstu źródłowego rtf. Proszę wytłumacz. Co otrzymasz z editText.getText()? Formowany tekst? – greenapps
Przypadkiem użycia jest to, że ktoś poszedł na Amazon.com (edycja: w Chrome na Androida), szukał książki i skopiował/wkleił tytuł w polu EditText. Wtedy zamiast zwykłego rozmiaru robi się tak duży. Jak używać getText() po wklejeniu? Nie mogę tego zrobić z debuggera, prawda? – Erik
????? Stwórz przycisk lub element menu, który to robi. Lub ustaw na detektor zmian dla tekstu edycji, który wyświetla toast. Możesz od razu "wyczyścić" tekst. 'addTextChangedListener'. – greenapps