TextWatcher etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
TextWatcher etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

28 Şubat 2016 Pazar

TextWatcher Sınıfı

Giriş
Bu sınıfı EditText ile kullanılır.

İskeleti
TextWatcher ile şöyle kullanılır.
edt.addTextChangedListener(new TextWatcher() {

  @Override
  public void onTextChanged(CharSequence s, int start, int before, int count) {
  }

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

  @Override
  public void afterTextChanged(Editable s) {
  }
});
TextWatcher hem kod içinde şöyle metin atanınca
edt.setText("this is a test");


hem de kullanıcı metin girince tetiklenir.

afterTextChanged metodu
Metin değiştikten sonra en son haline erişebiliriz. 

Karakter sayısını sınırlamak istersek şöyle yaparız.
public void afterTextChanged(Editable s) {
  editText.setText(s.toString().substring(5));
}
Metnin http ile başlamasını istersek şöyle yaparız.
@Override
public void afterTextChanged(Editable s) {
  if(!s.toString().contains("http://")){
    editText.setText("http://");    Selection.setSelection(edt.getText(), edt.getText().length());
  }
}