我想在完成第一个任务后执行asynctask。但是在打印第一个任务的状态时,它始终显示“正在运行”。如果同时执行两个任务,则只会执行较小的任务。我都在 Activity oncreate方法中运行。
这是我的代码示例
public class test extends Activity
{
ExecuteTask1 task1;
ExecuteTask2 task2;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
task1 = new ExecuteTask1();
task1.execute(token);
System.out.println(task1.getStatus());
if(task1.getStatus() ==AsyncTask.Status.FINISHED)
{
task2 = new ExecuteTask2();
task2.execute(token);
}
}
}
最佳答案
现在在您的代码中,您没有给task1时间完成任务。从task1的onPostExecute
方法启动task2。 (您必须修改ExecuteTask1类中的代码才能起作用。)
或者,让task1用onPostExecute
回调您的 Activity (或向其中发布消息),以便您的 Activity 随后可以启动task2。
关于android - Asynctask状态始终显示正在运行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8337419/