我班级的结构如下:
class Task1 extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
// ...
publishProgress();
// ...
}
@Override
protected void onProgressUpdate(Void... params) {
// ...
Task2 t2 = new Task2();
t2.execute();
}
private class Task2 extends AsyncTask<Void, Void, Void> {
// ...
}
}
我面临的问题是Task2
没有被执行。 Logcat也没有显示任何错误。
我尝试在新线程中执行Task2
,但即使这样也行不通。有人可以指出我正确的方向吗?
谢谢。
答案 0 :(得分:0)
答案 1 :(得分:0)
您放入doInBackground的任何函数都是在后台线程上完成的,因此使用另一个AsyncTask可能是多余的,而且过于复杂。您应该从Task2中取出代码并将其放入可以在Task1的doInBackground中调用的普通函数中。