Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重试asynctask的最佳java实践(android)_Java_Android_Android Asynctask - Fatal编程技术网

重试asynctask的最佳java实践(android)

重试asynctask的最佳java实践(android),java,android,android-asynctask,Java,Android,Android Asynctask,我有一个基础抽象类,所有异步任务都从该类扩展而来。我已经为网络错误内置了错误处理功能,我会向用户显示一个对话框,告诉他们可以重试请求(毕竟是网络错误…) 我在“重试”异步任务时遇到了一点问题,因为一旦它被执行,您就无法再次执行它。我怎么能这么做呢?我应该使用反射来实例化同一个类并重试吗 以前有人处理过这个问题吗?这里似乎是您需要的答案: 是一次性使用,只能执行一次。如果尝试第二次执行,将引发异常。解决方案就是创建一个新的AsyncTask并执行它。并不能真正帮助我,因为我不想为这些任务使用Int

我有一个基础抽象类,所有异步任务都从该类扩展而来。我已经为网络错误内置了错误处理功能,我会向用户显示一个对话框,告诉他们可以重试请求(毕竟是网络错误…)

我在“重试”异步任务时遇到了一点问题,因为一旦它被执行,您就无法再次执行它。我怎么能这么做呢?我应该使用反射来实例化同一个类并重试吗


以前有人处理过这个问题吗?

这里似乎是您需要的答案:


是一次性使用,只能执行一次。如果尝试第二次执行,将引发异常。解决方案就是创建一个新的AsyncTask并执行它。

并不能真正帮助我,因为我不想为这些任务使用IntentService或Service。我希望避免为获取结果而绑定,或者使用ResultReceiver+IntentService。我很难重新实例化同一个asynctask并对其调用execute()。是的,我知道这一点,但如何为所有asynctask自动重新创建它。我希望此逻辑被隐藏,并在用户单击“重试”时自动发生,无论它是什么类型的任务。也许您可以发布当前错误处理的代码?