我想在完成第一个任务后执行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/

10-10 10:23