亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

cancel()方法的參數設為true搞不懂什么意思

聽不懂老師說的讓線程繼續執行操作,不是都cancel掉了嗎,肯定不執行了啊

正在回答

3 回答

跟我的一模一樣,至今不知道怎么解決,你搞定了嗎?,$a,。

0 回復 有任何疑惑可以回復我~

我測試:cancel只相當于一個標記flag。

這里我沒設置cancel方法而是定義了一個布爾類型的全局變量flag。

private Boolean flag=false;

  1. protected void onPause() {

  2. super.onPause();

  3. if(mtask!=null&&mtask.getStatus() == AsyncTask.Status.RUNNING){

  4. //mtask.cancel(true);

  5. flag = true;

  6. }

  7. }

在onProgressUpdate方法中判斷flag是否為ture

  • if(flag == true){

  • return;

  • }

這樣做能得到同樣的效果。


0 回復 有任何疑惑可以回復我~

這個cancel只是對AsyncTask做了一些改變。一個AsyncTask可以在任何時候通過調用cancel(true)執行取消操作,但是這個方法只是使AsyncTask的isCancelled()返回true,在調用cancel之后,這個AsyncTask的 onCancelled(Object) 方法將會取代 onPostExcute(Object) 方法作為doInBackground 方法return時候的調用方法,所以為了及時的停止當前的任務,就需要在doInBackground 的任務中時刻檢測 isCancelled,然后手動 return,直接跳過當前的任務

0 回復 有任何疑惑可以回復我~
#1

行云流水V 提問者

參數true是干嘛的
2016-11-07 回復 有任何疑惑可以回復我~
#2

BINGO人生 回復 行云流水V 提問者

true就是設置這個任務它應該被取消,如果是false表示該任務允許被執行完成。
2016-11-08 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android必學-AsyncTask基礎
  • 參與學習       40900    人
  • 解答問題       111    個

了解Android中AsyncTask的使用方法,掌握異步線程的使用

進入課程

cancel()方法的參數設為true搞不懂什么意思

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號