我有java.lang.IllegalStateException:无法执行任务:任务已经执行(任务只能执行一次)虽然我像这样创建一个新的AsyncTask实例
all
这是我的代码
default
答案 0 :(得分:4)
很抱歉,如果您已经解决了问题。 但一般来说,每当你得到这样的例外时,
java.lang.IllegalStateException:无法执行任务:任务已执行(任务只能执行一次)
检查您是否遵循以下所有规则:
AsyncTask只能执行一次(如果尝试第二次执行,则会抛出异常。)
就像多次启动一个线程一样非法的情况。
不止一次启动线程永远不合法。特别是,a 一旦完成执行,线程可能无法重新启动。
因此,创建像new asyncTask().execute();
这样的新实例是唯一的选择
onPreExecute(), doInBackground(), onProgressUpdate(),onPostExecute()
不应手动调用。
必须在UI线程上加载AsyncTask类。这是从JELLY_BEAN开始自动完成的。
必须在UI线程上创建任务实例。
execute(Params ...)。
确保您已遵循代码中的所有5条规则。
了解详情:https://developer.android.com/reference/android/os/AsyncTask.html