我声明了这两种方法:
private Result mResult;
private void setResult(Result result){
this.mResult = result;
}
private Result getResult(){
new Executor(new OnResultListener() {
@Override
public void onResult(Result result) {
setResult(result);
}
}).execute();
return mResult;
}
我在异步任务执行时使用接口。我的问题是,我想把onresult方法的result对象作为一个对象返回给getresult()方法。
如上所示,我试图通过setter设置它,但似乎这不起作用。
我怎样才能成功呢?提前谢谢!
3条答案
按热度按时间fiei3ece1#
klsxnrf12#
你有两个选择。坏的是等到新线程完成。我们不要这样做)。更好的方法是使用回调:
n9vozmp43#
你可以提供一个
OnResultListener
作为您的AsyncTask
,调用者必须实现。例如或者你可以直接提供
mListener
至new Executor