2016-02-19 4 views
-1

Я устанавливаю текст в EditText, но при получении текста от TextWatcher он дает пустую строку.получение edittext.settext данных из textwatcher в android

Пожалуйста, проверьте этот код

for (int i = 0; i < 4; i++) { 
    et = new EditText(this); 
    et.setText("hai"); 
    final EditText finalEt = et; 
    ans.addView(et); 
    final int finalI = i; 
    finalEt.addTextChangedListener(new TextWatcher() { 
     public void afterTextChanged(Editable s) { 
      Log.d("text is",""+finalEt.getText().toString()); 
     } 

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

     public void onTextChanged(CharSequence s, int start,int before, int count) {} 
    } 
+0

пожалуйста, проверьте для различных условий –

ответ

0

Вы получите его в onTextChanged, а также на afterTextChanged что-то вроде этого.

for (int i = 0; i < 4; i++) { 
et = new EditText(this); 
et.setText("hai"); 

final EditText finalEt = et; 

ans.addView(et); 
final int finalI = i; 
finalEt.addTextChangedListener(new TextWatcher() { 
    public void afterTextChanged(Editable s) { 
        String str = s.toString(); 
      Log.d("text is",""+s); 

    } 

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

    public void onTextChanged(CharSequence s, int start,int before, int count) { 
      Log.d("text is",""+s.toString()); 
    } 
} 
+0

спасибо за ответ, но если я хочу, чтобы получить только «хай» из Log.d –

+0

Извините, но не получает вас. В этот момент, что вы получаете? 's.toString()' вернет вам текст, который вы ввели в 'edittext.' – Beena

+0

, он отображает данные hai +, введенные в edittext, но мне нужен только« hai », который установлен из et.setText (« hai ») из сообщение журнала –

0

Replace войти с этим

Log.d("text is","" + new String(s.toString()));