我有使用 AsyncTask 实现的 Web 服务请求。通常我使用接口回调到 Activity:
public interface AsyncTaskComplete<T> {
public void onTaskComplete(T result);
public void onTaskFailed(T result);
}
在异步任务中:
private AsyncTaskComplete<String> callback;
public AsyncTaskAbout(AsyncTaskComplete<String> cb) {
this.callback = cb;
}
protected void onPostExecute(String result) {
if(result == null){
callback.onTaskFailed(result);
}else{
callback.onTaskComplete(result);
}
}
但是如果我想给回调 FragmentActivity 编译器建议我将 AsyncTask 构造函数更改为:
public AsyncTaskAbout(FragmentActivity faActivity) {
this.callback = (AsyncTaskComplete<String>) faActivity;
}
警告在哪里:
Type safety: Unchecked cast from FragmentActivity to AsyncTaskComplete<String>
那么我需要改变什么?
或者在这种情况下如何进行回调?
谢谢。