【发布时间】:2016-02-04 22:16:43
【问题描述】:
我想创建一个扩展 AsyncTask 的中间抽象类,以便在密切相关的类之间共享代码。真正的具体类会扩展中间抽象类来定义细节。
对于 AsyncTask,我需要指定参数、进度和结果。但是,在中间层,我没有任何实现细节。那么具体类的详细定义应该怎么做呢?
//实现共享代码的中间层
public class SiteAsyncTask extends AsyncTask<?, ?, ?>{
//混凝土层
public class GetSiteAsyncTask extends SiteAsyncTask<Void, Void, Site> {
public class ListSiteAsyncTask extends SiteAsyncTask<Void, Void, ArrayList<Site> {
//在中间抽象层,如何将参数、进度和结果定义为通用的。结果可以是 Site 或 Site 的 Arraylist
public class SiteAsyncTask extends AsyncTask<?, ?, ?>{
//在中间层,如何定义doInBackground以使其通用。它可以是 Site 或 Site 的 ArrayList
protected Site doInBackground(Void... params) {
谢谢
【问题讨论】:
-
"Site or Arraylist of Site" 是不可能的,因为它们具有不同的对象层次结构
标签: java android android-asynctask