我正在尝试将函数传递给Async类,该函数假设将结果返回给调用活动,到目前为止,我最好的尝试是以下代码。
这个问题是我在顶部定义了result
因此可以通过OnEventCompleteCallBack函数访问它,但同时我将它返回到调用活动,它听起来不对。
另外,我的代码涉及调用两个函数来获取我需要的结果。 有没有更好的方法来实现这一目标?
理想情况下,我想将函数functionIWouldLikeToPass传递给Async,但我读到这在Java中是不可能的(与C#相反)。
我的活动:
Private MyOtherClass result;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
//....
myResult = getResultAsync(str);
//...
}
public MyOtherClass functionIWouldLikeToPass(MyClass myClass){
//do stuff with myClass
//return MyOtherClass type to the result call to the activity
}
public MyOtherClass getResultAsync(String str) {
new AsyncTask_GetSingeValue(new IOnEventCompleteCallBack() {
@Override
public void OnEventCompleteCallBack(MyClass asyncResult) {
result= functionIWouldLikeToPass(asyncResult);
}
}).execute(str);
return result;
}