找到解决方案:
问题是这样的:
AsyncTask mAsyncTask = new ListPalinasAsynkTask(callback);....mAsyncTask.execute();
我正在使用通用的AsyncTask调用execute,该类将通过Void作为参数,并且永远不会在ListPalinasAsynkTask上调用.execute(),而是将调用ListPalinasAsynkTask.execute(Void)。那给出了错误。
解决方案:
- 使用ListPalinasAsynkTask而不是通用的AsyncTask
- 更好的方法:创建一个新的类VoidRepeatableAsyncTask,并使其他Void AsyncTasks扩展该类。
像这样:
public abstract class VoidRepeatableAsyncTask<T> extends RepeatableAsyncTask<Void, Void, T> { public void execute() { super.execute(); }}然后,您可以轻松地使用如下代码来调用execute:
VoidRepeatableAsyncTask mAsyncTask = new ListPalinasAsynkTask(callback);....mAsyncTask.execute();
这将调用AsyncTask的无参数execute方法。


![无法将Object []强制转换为AsyncTask中的Void [] 无法将Object []强制转换为AsyncTask中的Void []](http://www.mshxw.com/aiimages/31/383117.png)
