2016-05-30 58 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删除这个答案并修改你的问题。 –