【问题标题】:how to show progress bar while loading google map and adding markeres如何在加载谷歌地图和添加标记时显示进度条
【发布时间】:2015-06-20 20:05:28
【问题描述】:

我已在我的 Android 应用程序中集成了 Google 地图,但完全加载地图并放置标记需要时间。

我想做的是在地图完全加载之前显示进度条,然后在上面放置标记,最后关闭进度条。

我为此使用了 asynctask,但给了我一个错误 not in main thread 。 所以请告诉我这对我来说非常重要。

【问题讨论】:

  • 你遇到了什么错误?给我们看日志
  • @nayoso 不在主线程中

标签: android google-maps android-asynctask google-maps-android-api-2


【解决方案1】:

AsyncTask 有两个函数 - onPreExecute()onPostExecute()。您需要让您的 ProgressBar 在onPreExecute() 中可见,并使其在onPostExecute() 中不可见。

您不应将任何 UI 代码放入 doInBackground() 中,因为 doInBackground() 中的代码在与 UI 不同的线程上运行,并且 Activity 不会让视图从 UI 以外的其他线程中更改。

【讨论】:

  • 好的。在完成所有这些过程时,还有其他方法可以显示进度条吗?
  • 是的,当您执行此操作时,进度条将可见。 onPreExecute()doInBackground() 之前被调用,onPostExecute()doInBackground() 之后被调用。所以你的进度条在整个过程中都是可见的,当你在doInBackground() 中做任何你想做的事情时,你的进度条就会不可见
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多