我想要做的是向用户提供有关后台执行的工作和计算的进度信息(例如“登录”,“检索文档”,“分析文档”等)。
所发生的只是艺术作品的展示,并且只有在所有作品完成之后。我做错了什么,实现这个的正常方法是什么?
下面是说明该问题的示例代码。在循环完成之前,Toast 和 ProgressDialog 都不会显示:
ProgressDialog.show(this, "Working", "Performing calculation");
CharSequence text = "Performing calculation";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(this, text, duration);
toast.show();
for(int i = 0; i < 5000; i++) {
Log.d("Debug", Integer.toString(i));
}
任何方向正确的观点都会受到赞赏。
最佳答案
您所描述的场景,您有一个后台进程,并且您想要向用户更新进度,应该使用 AsyncTask
来处理,其中您有 doInBackground()
和 onProgressUpdate()
。
关于java - Toast 和 ProgressDialog 均不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11072143/