2010-06-02 15 views
6

Próbuję uzyskać liczbę znaków w EditText. Sprawdziłem różne właściwości klas EditText i TextView, ale nie wydaje się, że funkcja zwraca liczbę znaków. Próbowałem użyć TextWatchera, ale to nie jest idealne, ponieważ czasami ładuję zapisaną wiadomość do EditText z preferencji, a TextWatcher nie zlicza znaków, które nie zostały wpisane w tym miejscu.Otrzymywanie liczby znaków EditText

Każda pomoc będzie świetna!

Pozdrawiam!

+0

znam jej już zostały odebrane. Ale może pomóc innym. Możesz także użyć EditText.length() – FaisalAhmed

Odpowiedz

23

Wystarczy chwycić tekst w EditText jako ciąg i sprawdzić jego długość:

int length = editText.getText().length(); 
+0

Świetnie, ale w jaki sposób możemy pokazać, że liczba TextView jest tuż poniżej edittext i powinna być widoczna podczas pisania przez użytkownika. Wiemy, że nie ma spacji, aby pokazać cokolwiek pomiędzy klawiaturą a edittextem. Dzięki. –

10
EditText edittext; 
private final TextWatcher mTextEditorWatcher = new TextWatcher() { 

     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

     } 

     public void onTextChanged(CharSequence s, int start, int before, int count) { 
      //This sets a textview to the current length 
      textview.setText(String.valueOf(s.length()); 
     } 

     public void afterTextChanged(Editable s) { 
     } 
}; 
editText.addTextChangedListener(mTextEditorWatcher); 
+0

można po prostu uzyskać EditText ang, aby uzyskać tekst jako ciąg i uzyskać długość tego ciągu. –

+0

To nie jest wroking. –

Powiązane problemy