【发布时间】:2016-10-22 14:15:24
【问题描述】:
我正在尝试为更多请求编写通用 asyncTask
public class AsyncTaskInner <T> extends AsyncTask<Void, Void, List<T>> {
Class<T> mClazz;
public void setDataListener(TimeDataListener dataListener) {
mDataListener = dataListener;
}
public void setClass(Class<T> clazz){
mClazz = clazz;
}
@Override
protected final List<T> doInBackground(Void... voids) {
String path = "";
final String requestItem = Config.getTime();
List<T> priceResponseList = null;
path = Config.getPath();
try {
URL url = new URL(path);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
final int statusCode = connection.getResponseCode();
if (statusCode == 200) { // 200 -> STATUS_OK.
InputStream inputStream = new BufferedInputStream(connection.getInputStream());
String response = IOUtils.toString(inputStream, "UTF-8");
priceResponseList = getTimeResponse(response, mClazz);
}
} catch (NullPointerException | IOException e) {
e.printStackTrace();
}
return priceResponseList;
}
@Override
protected void onPostExecute(List<T> priceResponceList) {
super.onPostExecute(priceResponceList);
if (priceResponceList != null) {
mDataListener.onTimeDataReceived(priceResponceList);
}
}
}
在 setClass() 方法和 .execute() 上返回错误... 未经检查地调用 setClass(Class) 作为原始类型 RequestFactory.AsyncTaskInner 的成员 作为行类型“android.os.AsyncTask”的成员对 'execute(Params)' 的未经检查的调用
【问题讨论】:
-
您能否提供创建和调用此异步任务的代码?