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());
  }
}



Hiç yorum yok:

Yorum Gönder