如何访问 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));

我想你的问题有点含糊。如果您是运行此代码来自On​​Create(),您可以按如下方式获取视图,否则如果是来自其他onclick 方法,视图将作为参数提供。

final View view = findViewById(android.R.id.content);</pre>