第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從AsyncTask更新活動中的進度對話框

從AsyncTask更新活動中的進度對話框

慕的地6264312 2019-11-02 14:06:56
在我的應用中,我正在AsyncTask按照Android教程的建議進行大量工作,并ProgressDialog在我的主要活動中顯示:dialog = ProgressDialog.show(MyActivity.this, "title", "text");new MyTask().execute(request);然后在稍后MyTask將結果發(fā)布回活動的地方:class MyTask extends AsyncTask<Request, Void, Result> {    @Override protected Result doInBackground(Request... params) {        // do some intense work here and return result    }    @Override protected void onPostExecute(Result res) {        postResult(res);    }}在結果發(fā)布中,在主要活動中,我隱藏對話框:protected void postResult( Result res ) {    dialog.dismiss();    // do something more here with result...}因此,此處一切正常,但是我想以某種方式更新進度對話框,以便向用戶顯示一些實際進度,而不是僅顯示虛擬的“ Please wait ...”消息。我能以某種方式從MyTask.doInBackground所有工作完成的地方訪問進度對話框嗎?據我了解,它是作為單獨的線程運行的,因此我無法從那里“與”主活動“交談”,這就是為什么我onPostExecute經常將結果推回去。但是問題是onPostExecute只有在所有工作都已經完成并且在執(zhí)行某項操作的過程中我想更新對話框時,才調用該方法。任何提示如何做到這一點?
查看完整描述

2 回答

?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

的AsyncTask有方法onProgressUpdate(Integer...),你可以調用每個迭代例如或者每個進程前進過程中完成時間doInBackground()致電publishProgress()。


請參閱文檔以獲取更多詳細信息


查看完整回答
反對 回復 2019-11-02
?
紅糖糍粑

TA貢獻1815條經驗 獲得超6個贊

您可以從AsyncTask的方法更新,onProgressUpdate(YOUR_PROGRESS)該方法可以通過調用 YOUR_PROGRESS的數(shù)據類型從doInBackground方法調用,publishProgress(YOUR_PROGRESS)該數(shù)據類型可以從AsyncTask<Int, YOUR_PROGRESS_DATA_TYPE, Long>


查看完整回答
反對 回復 2019-11-02
  • 2 回答
  • 0 關注
  • 484 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號

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