我有一个主 Activity 类,它有一个按钮,我为其分配了一个 OnClickListener:
public class MyMainClass extends Activity {
protected void initWidgets() {
btAddProfile = (Button) findViewById(R.id.btAddProfile);
btAddProfile.setOnClickListener(onAddProfileClick);
}
protected View.OnClickListener onAddProfileClick = new View.OnClickListener() {
public void onClick(View view) {
addHotspot();
}
};
protected void addHotspot(){
//doStuff
}
}
onAddProfileClick 实例是 MyMainClass 的子实例,但它能够在不引用 MyMainClass 的情况下调用 MyMainClass 的 addHotspot() 函数。这怎么可能?
最佳答案
这不是它们的父类,而是它们的封闭类,它们可能会这样做,因为它们与封闭对象相关联并在其范围内。 (当您编写 addHotspot()
时,会隐式调用 MyMainClass.this.addHotspot()
)
关于java - 在 Android 上,为什么 View.OnClickListener 实例可以像调用它们自己的方法一样调用它们父类的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7114276/