2016-05-30 60 views
-1

中設置一個textwatcher動態超過edittext我想設置一個textwatcher爲dynamic超過edittext .if我創建動態edittext我想爲所有動態edittext使用一個textWatcher如果有人知道告訴我如何在android

+1

您是否在發佈問題前嘗試搜索它?檢查[這個問題](http://stackoverflow.com/questions/5702771/how-to-use-single-textwatcher-for-multiple-edittexts)或[this](http://stackoverflow.com/questions/4283062/textwatcher-for-more-one-edittext) – Rehan

+0

我要求動態Edittext不是靜態的 –

+0

您需要閱讀[this](http://stackoverflow.com/help/how-to-ask) – Rehan

回答

0

您可以創建自定義的TextWatcher類如下。

private class CustomTextWatcher implements TextWatcher{ 

     private EditText et; 

     private CustomTextWatcher (EditText et){ 

      this.et = et; 

     } 

     @Override 
     public void afterTextChanged(Editable s) { 

     } 

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

     } 

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


     } 

    } 

有關設置textwatcher你可以做如下

yourdynamicedittext.addTextChangedListener(new CustomTextWatcher(yourdynamicedittext)); 

裏面CustomTextWatcher類,你可以處理的相對情況下的每個EDITTEXT分配TextChangedListener。爲了識別不同的edittext,你可以在CustomTextWatcher類中設置標籤並檢索它。

yourdynamicedittext.setTag(1,2,... n);

+0

ok罰款我終於把這一切都完成了。現在我正在運行爲什麼這個錯誤會出現在這條線上? et.setText(一個或多個);錯誤是:05-30 16:20:55.623:E/AndroidRuntime(28054):\t at com.example.samptextwatcher.CustomTextWatcher.afterTextChanged(CustomTextW –

+0

as you edd edditable not text。use s.toString(); –

0

這不是我的answer.This是我的代碼是什麼我做

Activity.java

btnClick.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       for(int i=0;i<=3;i++) 
      { 
       final EditText editText=new EditText(TextWatchSamp.this); 
       linear.addView(editText); 
       editText.addTextChangedListener(new CustomTextWatcher(editText)); 


       } 


       } 


     }); 

CustomTextWatcher.java

public class CustomTextWatcher implements TextWatcher { 
    EditText et=null; 
    CustomTextWatcher (EditText et){ 
     this.et=et; 

    } 

    @Override 
    public void beforeTextChanged(CharSequence s, int start, int count, 
      int after) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void onTextChanged(CharSequence s, int start, int before, int count) { 
     // TODO Auto-generated method stub 

    } 

    @Override 
    public void afterTextChanged(Editable s) { 
     // TODO Auto-generated method stub 
     et.setText(s); 
    } 

} 

不過來了et.setText錯誤(或多個); 爲什麼?

+0

Pl刪除這個答案並修改你的問題。 –