2012-08-15 15 views

Odpowiedz

8

Czy próbowałeś ten

textview.setText(" append string" + textView.getText()); 

Choć spannables zgubisz tą metodą.

+2

Czy to tylko ja, czy też wydaje się to bardzo brzydkie dla innych ludzi? Czy istnieje powód, dla którego Android nie zawiera funkcji prepend() lub czegoś podobnego? – Tim

+0

Myślę, że append jest często używany. Więc android zapewnia dodatek jako funkcję wygody – nandeesh

2

Następnie użyj ciąg, który chcesz dołączyć powiedzieć „cześć” do TextView jako

textview.setText("hello"+textView.getText()) 
+0

Powód do zaniedbania ??? –

7

Jeśli jesteś zaniepokojony spannables, można użyć coś takiego:

textView.getEditableText().insert(0, "string to prepend"); 
3

getEditableText() zwrócił mi wartość null. Zamiast tego, aby poprzedzić tekst do spannable, ustawić buffertype tekstowy do SPANNABLE: w kodzie:

myTextView.setText(myText, TextView.BufferType.SPANNABLE); 

lub za pomocą właściwości xml android:bufferType na TextView.

Potem rzucił getText(), aby Spannable, po którym ja Concat dodatkowy tekst z istniejącego tekstu:

Spannable currentText = (Spannable) tvTitle.getText(); 
CharSequence indexedText = TextUtils.concat(String.format("%d. ", index), currentText); 
myTextView.setText(indexedText); 

O ile mogę powiedzieć, wszystkie funkcje są dostępne z poziomu API 1.

+0

Z wielu niepoprawnych rozwiązań, które znalazłem w tym celu, jest to jedyne rozwiązanie, które faktycznie działa. Absolutnie szalony, że nie ma bardziej rozsądnego sposobu, aby to zrobić. Poniżej mojego podobnego kodu, korzystając z tego. 'kod' setText (getText(), TextView.BufferType.SPANNABLE); Spannable currentText = (Spannable) getText(); CharSequence indexedText = TextUtils.concat ("(", currentText, ")"); setText (indexedText); 'kod' –

Powiązane problemy