我的应用程序中有很多活动和AsyncTasks。我想用接受Generic AsyncTask和boolean的方法定义一个接口。我将在所有活动中实现该接口,并希望从AsyncTask调用Interface的方法。
我应该如何声明接受AsyncTask的所有子类的方法?我想把它设为Generic所以我可以使用instanceof运算符来确定哪个asyncTask在activity中调用了Override方法。 我试着用:
public onUpdate(AsyncTask<Params, Progress, Result> task,boolean show);
但不允许。
答案 0 :(得分:1)
您可以这样声明:
public void onUpdate(AsyncTask<?, ?, ?> task, boolean show) {
}
然后,您可以通过扩展AsyncTask
:
private class SomeTask extends AsyncTask<String, Integer, Long> {
@Override
protected Long doInBackground(String... params) {
// TODO Auto-generated method stub
return null;
}
}
并调用您的方法:
onUpdate(new SomeTask(), true);
答案 1 :(得分:1)
您可以按如下方式声明方法......
public void onUpdate(AsyncTask<Object, Object, Object> task,boolean show);