如何在片段事务期间停止asynctask

时间:2017-07-01 14:26:39

标签: android

我遇到的问题是,如果AsyncTask在片段交易期间正在运行,那么fragments会变为白色(没有显示任何内容),所以有没有办法停止AsyncTask fragment交易,并在交易完成后恢复。

3 个答案:

答案 0 :(得分:2)

您必须致电asyncTask.cancel()然后asyncTask.doInBackground()中的代码必须定期测试isCancelled()返回的内容,如果为真,则必须尽快返回。

最后当doInBackground返回asyncTask.onCancelled()时,将在UI线程上调用。

答案 1 :(得分:1)

您必须保留AysncTask的引用,如:

MyAysncTask asyncTask = new MyAysncTask();
asyncTask.execute();

然后在onPause()或在致电transaction.commit()之前致电asyncTask.cancel()

希望它会有所帮助!!!

答案 2 :(得分:0)

您活动中的

asyncTask:

私人YourAsyncTask aTask;

<强> instanitiate

aTask = new YourAsyncTask().execute();

取消它:

aTask.cancel(true);
  

原   How to stop asynctask thread in android?