android - 具有某些后台逻辑的 Android 中的进度对话框会出现处理程序错误?

标签 android handler progressdialog

有人知道 Andorid 的 ProgressDialog with Thread 吗?我能够成功地显示对话框并关闭它,但是我有一些很长的逻辑要做,然后只关闭对话框,直到该对话框显示加载消息。我将我的逻辑代码放在带有 While 条件的线程的 Run 方法中,直到我没有得到特定的结果,它才会运行代码。但不知何故,它给了 Handler 和 Looper.prepare() 错误。我试图找到它并了解我必须使用 Handler 类的功能。

最佳答案

ProgressDialog在UserInterface下,不要在线程中dissmis它,在线程启动前显示;

像这样。

 Thread th=new Thread(this);
 ProgressDialog pd=new ProgressDialog(this);
 pd.setMessage("Loading...");
 pd.show();
 th.start();

现在使用处理程序类来关闭它

void run(){
 ///do your work;
 handler.sendEmptyMessage(0); 
 }
 private Handler  handler=new Handler(){
   //override onhandle message method and dismiss dialog in it

  }

关于android - 具有某些后台逻辑的 Android 中的进度对话框会出现处理程序错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8192817/

相关文章:

android - shouldOverrideUrlLoading() 永远不会被调用

java - 我在线程制作时间 "run"时出现错误(每秒更新)

c# - 如何使用 Timer (Thread) 类处理异常

Android : AsyncTask, 如何更新 ProgressDialog 增量

android - 无法关闭 ProgressDialog(使用 BroadcastReceiver)

安卓:Firebase ChildEventListener() 不工作

android - 28.0.3 aapt.exe'' 以非零退出值 1 完成

java - handler.post(runnable) 是否启动一个新线程?

android - 防止后退按钮取消 DialogFragment

java - Android - 大文件下载停止 - 使用异步/进度对话框