Re: [問題] 先顯示 ProgressBar 等 activity 載入?
main thread 就是 UI thread,
繁忙的事情不能放在 main thread 裡做,
會讓 UI 卡住。
另外 show() 放在 onCreate 應該不會馬上 show,
因為 onResume() 時才畫,
可以去爬 source code 求證。
這個 case 需要開一個 Handler。
流程應該是:
一開始先叫 ProgressBar 或現成的 ProgressDialog 起來,
接著送出處理大量事情 Message 給 Handler,
Handler 收到後開始做事,
做完事情之後再把 ProgressBar/ProgressDialog 關掉。
只開 Handler 是最方便的,
因為 Handler 並沒有另開 thread,不會有非 main thread 無法控制 UI 的問題,
同時也有多執行緒的效果。
※ 引述《vegafish (曾經太過年輕)》之銘言:
: 問題:
: 想要在使用者等待程式回應的時候,顯示繞圈圈的 ProgressBar。
: 原本我的寫法是將 ProgressBar的 .show() 放在 activity onCreate() 的頂端,
: 將 ProgressBar 的 .dismiss() 放在 activity onCreate() 的底端。
: 但我發現這樣並不能達到預期的效果。
: 請問各路高手,這段程式碼是哪邊出了問題呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.9.133.86
※ 編輯: changyuheng 來自: 36.224.173.98 (06/23 10:12)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章