问题描述
- 在多个EditText字段实现TextWatcher的接口
-
我想在多个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) {
}
}
时间: 2024-09-16 03:05:30