我注意到 dot NET 也有类似的问题,但我的问题是针对 Android 的,所以可能解决方案看起来不同。
通过单击按钮激活该过程。该进程作为 UI 线程的一部分运行,最后它确实更新了 UI。我添加了进度对话框以更加用户友好,因此我实例化了一个运行该进程的线程,最后它更新 UI 并关闭进度对话框。不幸的是,UI 更新失败,但有以下例外:
07-19 21:14:04.602: ERROR/Atjeews(283): android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
如果我尝试阻止 UI 线程并在完成更新 UI 的长时间过程后释放它,则不会显示进度对话框。我应该尝试在单独的线程中显示进度对话框,还是有另一个更简单的解决方案?