如何访问 addTextChangedListener 中的视图?
How to access view in addTextChangedListener?
我想添加一个将视图作为参数传递的方法,下面是直接添加 somemethod(view) 的代码显示错误。
abc.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
somemethod(view); // this is where I stuck
}
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
.....
somemethod(View view) {}
private class MyTextWatcher implements TextWatcher {
private View view;
private MyTextWatcher(View view) {
this.view = view;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//access view
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//access view
}
@Override
public void afterTextChanged(Editable s) {
//access view
}
}
将侦听器添加到视图
editText.addTextChangedListener(new MyTextWatcher(editText));
我想你的问题有点含糊。如果您是运行此代码来自OnCreate(),您可以按如下方式获取视图,否则如果是来自其他onclick 方法,视图将作为参数提供。
final View view = findViewById(android.R.id.content);</pre>
我想添加一个将视图作为参数传递的方法,下面是直接添加 somemethod(view) 的代码显示错误。
abc.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
somemethod(view); // this is where I stuck
}
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
.....
somemethod(View view) {}
private class MyTextWatcher implements TextWatcher {
private View view;
private MyTextWatcher(View view) {
this.view = view;
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//access view
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//access view
}
@Override
public void afterTextChanged(Editable s) {
//access view
}
}
将侦听器添加到视图
editText.addTextChangedListener(new MyTextWatcher(editText));
我想你的问题有点含糊。如果您是运行此代码来自OnCreate(),您可以按如下方式获取视图,否则如果是来自其他onclick 方法,视图将作为参数提供。
final View view = findViewById(android.R.id.content);</pre>