我想在多个EditText字段实现TextWatcher的接口。用的是以下代码:
text1.addTextChangedListener(this);
text2.addTextChangedListener(this);
然后在Activity中重写方法
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count)
{
// 在text1字段做一些文本操作
// 在text2字段做一些文本操作
}
程序可以正常运行,我想找一下别的方法。那样我就可以确定SoftKeyboard的焦点当前在哪个EditText中。
text1.addTextChangedListener(这里换成TextWatcher的对象,而不是使用this);
上面那个例子应该就可以的
我自己找到的一种方法是这样实现的,大家还有别的解决方案吗?
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText e = new EditText(this);
e.addTextChangedListener(new CustomTextWatcher(e));
}
private class CustomTextWatcher implements TextWatcher {
private EditText mEditText;
public CustomTextWatcher(EditText e) {
mEditText = e;
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
public void afterTextChanged(Editable s) {
}
}