java如何通过构造函数将实现的侦听器传递给AsyncTask?
界面:
public interface OnTaskCompleted{
void onTaskCompleted(Document doc);
}
使用此Interface
扩展了Activity
:
public Activity implements OnTaskCompleted{
//Activity
}
完成后,让AsyncTask
发送信息
public MyAsyncTask extends AsyncTask<Object,Object,Object>{
private OnTaskCompleted listener;
// all your stuff
public MyAsyncTask(OnTaskCompleted listener){
this.listener=listener;
}
protected void onPostExecute(Object o){
listener.onTaskCompleted(doc);
}
}
但是,当我实例化侦听器时,如何将其传递给
public Activity implements OnTaskCompleted{
//Activity
@Override
onTaskCompleted(Object o){
//Do something in activity
}
...onCreate... {
asyncTask = new YourTask(???????);
asyncTask.execute();
}
}
# 1 楼答案
将
this
传递给构造函数:您的活动实现了
OnTaskCompleted
,因此有资格传递给MyAsyncTask