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