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. 在对话框中显示进度
- 2. 显示OnLocationChanged中的进度对话框
- 3. 进度对话框不显示在Android?
- 4. 在webview上显示进度对话框
- 5. Android - 闪烁的ImageView进度对话框
- 6. 显示延迟的进度对话框
- 7. 在显示警告对话框前不显示进度对话框
- 8. ProgressDialog显示里面有进度的白色背景对话框
- 9. 进度对话框将不会显示
- 10. 进度对话框没有显示
- 11. 无法显示进度对话框
- 12. 进度对话框不显示
- 13. 进度对话框显示不
- 14. Android:进度对话框不显示
- 15. 进度对话框持续显示
- 16. 安卓进度对话框不显示
- 17. Android中的选项卡布局中的进度对话框
- 18. 在Android上的布局中显示对话框
- 19. Android的对话框布局
- 20. 在android中管理进度对话框的显示时间
- 21. 在asyncTask的onPostExecute中显示另一个进度对话框
- 22. 进度对话框
- 23. 进度对话框
- 24. 进度对话框异常后不显示
- 25. 更改MvvmCross对话框元素的布局/框架
- 26. 在android中不显示进度对话框?
- 27. 如何在Android中显示进度对话框?
- 28. 我应该如何删除显示在我的进度对话框后面的空白对话框?
- 29. 代码显示在android中关闭进度对话框后的Toast消息?
- 30. 对话框中的Android圆角布局
您可以定位的ImageView和进度对话框另一层之上并使其可见匆匆按你的条件。关于5秒的情况,你可以发布一个可运行的延迟5秒后执行,使其消失并使进度条可见。 –
好吧,但问题是如果异步任务在5秒之前完成,那么我们关闭onpostexecute()的进度对话框。然后改变进度对话框的可见性会产生错误 –
然后我认为你需要有一个计时器任务延迟5秒后运行。因此,如果异步任务在5秒之前完成,那么您可以取消/清除计时器任务 –