如何从回调函数中调用 class 变量?
How can I call a class variable from a callback function?
我有一个 class 具有以下结构:
public class MyClass {
private double myDouble;
private MyObject myObject;
public myMethod() {
AnotherObject anotherObject = new AnotherObject();
anotherObject.getInfo(new Callback<String>() {
@Override
public void success(MyObject myObject) {
this.myObject = myObject; // this is what I would like to do
}
// and a method for the failure case
});
}
}
本质上,我正在寻找一种方法来保存从实例变量 myObject
(this.myObject
) 中的 success
方法获得的 myObject
的值.目前,使用上面的代码,我收到一条 "Cannot resolve symbol 'myObject'" 消息。
这可能吗?
你很接近,因为你在一个内部 class 中,你必须在 this
前加上一些额外的信息:
MyClass.this.myObject = myObject;
否则this
指的是你定义的匿名Callback
class。
我有一个 class 具有以下结构:
public class MyClass {
private double myDouble;
private MyObject myObject;
public myMethod() {
AnotherObject anotherObject = new AnotherObject();
anotherObject.getInfo(new Callback<String>() {
@Override
public void success(MyObject myObject) {
this.myObject = myObject; // this is what I would like to do
}
// and a method for the failure case
});
}
}
本质上,我正在寻找一种方法来保存从实例变量 myObject
(this.myObject
) 中的 success
方法获得的 myObject
的值.目前,使用上面的代码,我收到一条 "Cannot resolve symbol 'myObject'" 消息。
这可能吗?
你很接近,因为你在一个内部 class 中,你必须在 this
前加上一些额外的信息:
MyClass.this.myObject = myObject;
否则this
指的是你定义的匿名Callback
class。