0
A
回答
1
通過應用Rajen Raiyarela的建議下,我做了這個:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_act1);
pb = (ProgressBar) findViewById(R.id.pb);
iv = (ImageView) findViewById(R.id.iv);
TimerTask task = new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
swapVisibility();
}
});
}
};
timer = new Timer();
timer.schedule(task, 5000);
new Task().execute();
}
class Task extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... voids) {
try {
Thread.sleep(7000); // imitating heavy operation
} catch (InterruptedException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
timer.cancel();
if (pb.getVisibility() != View.VISIBLE)
swapVisibility();
}
}
private void swapVisibility() {
pb.setVisibility(View.VISIBLE);
iv.setVisibility(View.GONE);
Log.e("TAG", "Visibility changed");
}
+0
我不想睡覺函數doInBackground –
相關問題
- 1. 在進度對話框後顯示alertDialog
- 2. 在DialogFragment中顯示進度對話框
- 3. 顯示OnLocationChanged中的進度對話框
- 4. 在模態對話框頂部顯示進度條對話框
- 5. 進度對話框不顯示在Android?
- 6. 在webview上顯示進度對話框
- 7. 在進度對話框中設置用戶背景對話框
- 8. 對話框佈局不正確顯示
- 9. Android - 閃爍的ImageView進度對話框
- 10. 帶對話框的自定義進度條對話框框架
- 11. 顯示延遲的進度對話框
- 12. 在顯示警告對話框前不顯示進度對話框
- 13. 進度對話框代替TextView,ImageView
- 14. ProgressDialog顯示裏面有進度的白色背景對話框
- 15. 無法顯示進度對話框
- 16. Android:顯示進度對話框
- 17. 進度對話框沒有顯示
- 18. 無法顯示進度對話框
- 19. 進度對話框不顯示
- 20. 進度對話框顯示不
- 21. 未顯示Android進度對話框
- 22. 進度對話框將不會顯示
- 23. 進度對話框顯示太晚
- 24. 進度對話框不顯示
- 25. 進度對話框持續顯示
- 26. Android:進度對話框不顯示
- 27. 安卓進度對話框不顯示
- 28. 進度對話框不顯示
- 29. Android中的選項卡布局中的進度對話框
- 30. 在進度對話框中嵌套提示對話框
您可以定位的ImageView和進度對話框另一層之上並使其可見匆匆按你的條件。關於5秒的情況,你可以發佈一個可運行的延遲5秒後執行,使其消失並使進度條可見。 –
好吧,但問題是如果異步任務在5秒之前完成,那麼我們關閉onpostexecute()的進度對話框。然後改變進度對話框的可見性會產生錯誤 –
然後我認爲你需要有一個計時器任務延遲5秒後運行。因此,如果異步任務在5秒之前完成,那麼您可以取消/清除計時器任務 –