Java 请参阅从方法参数对象内部包含对象?

Java 请参阅从方法参数对象内部包含对象?,java,android,inner-classes,anonymous-class,parameter-object,Java,Android,Inner Classes,Anonymous Class,Parameter Object,我不知道如何表述这个问题在技术上是正确的,但假设我有一个对象(外部),该对象的方法将另一个对象(内部)作为参数-我如何从内部引用外部 为了阐明我的意思,下面是一个使用AndroidEditText和TextWatcher实现的示例: EditText myEditText = getEditText(); myEditText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextC

我不知道如何表述这个问题在技术上是正确的,但假设我有一个对象
(外部)
,该对象的方法将另一个对象
(内部)
作为参数-我如何从
内部引用
外部

为了阐明我的意思,下面是一个使用Android
EditText
TextWatcher
实现的示例:

EditText myEditText = getEditText();

myEditText.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) {

    }

    @Override
    public void afterTextChanged(Editable s) {
        // How can I refer to myEditText here in a more generic way than 
        // using myEditText directly?         
    }
});
在本例中,我当然可以在
TextWatcher
实现中使用
myEditText
。但我想知道的是,在这种情况下,是否有更通用的方法从
“内部”
获取
“外部”
对象


我知道可以使用
MyClass。这
处理匿名内部类时,但在这种情况下不起作用。

TextWatcher
接口不会将
视图
传递到它的方法中,比如
OnClickListener
接口,如果你这么想的话,因此,使用直接引用几乎可以做到最好,除非您希望创建自己的类来实现
TextWatcher
,该类的方法向接口方法添加
View
参数。为什么不在该方法中使用
myEditText
?鉴于
myEditText
是这里唯一相关的变量,现在还不清楚您想要什么更通用的方式。@JonSkeet我正在考虑一种类似于
MyClass的构造。这个
,但在这种情况下会起作用。这并不是说我不想使用myEditText,只是我想知道是否有更通用的方法可以使用,我不知道,但我想不是。这并不能回答为什么你不想使用有效的构造,也就是说,只使用
myEditText
TextWatcher
界面不会将
视图
传递到它的方法中,比如
OnClickListener
界面,如果这是您所想的,那么使用直接引用就可以了,除非您想创建自己的类来实现
TextWatcher
,该类的方法向接口方法添加
View
参数。为什么不想在方法中使用
myEditText
?鉴于
myEditText
是这里唯一相关的变量,现在还不清楚您想要什么更通用的方式。@JonSkeet我正在考虑一种类似于
MyClass的构造。这个
,但在这种情况下会起作用。这并不是说我不想使用
myEditText
,只是我想知道是否有更通用的方法来实现这一点,我不知道,但我想不是。这并不能回答为什么你不想使用有效的结构,即只使用
myEditText