我想为动态设置一个textwatcher而不是Edittext 。如果我正在创建动态Edittext我想为所有Dynamic Edittext使用一个textWatcher。如果有人知道告诉我
答案 0 :(得分: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类中,您可以处理分配TextChangedListener的每个edittext的相对大小写。要在不同的edittext之间进行标识,您可以在CustomTextWatcher类中设置标记并检索它。
yourdynamicedittext.setTag(1,2,... n);
答案 1 :(得分:0)
这不是我的答案。这是我的代码我做了什么
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(s); 为什么呢?