小编Ada*_*m J的帖子

Android - IllegalStateException:map的大小为零

我是一个新手android程序员.

让我给出一些背景信息.
我的项目使用ActionBarSherlock.

  1. 我有一个包含两个片段的活动(Activity1) - 一个SherlockListFragment和一个包含谷歌地图MapView(本质上是一个MapFragment)的SherlockFragment.
  2. 搜索结果显示在列表片段和地图片段中,操作栏选项按钮切换列表和地图之间当前显示的片段.
  3. 选择列表中的项目或搜索结果的地图会启动一个新活动(Activity2),显示所选项目的数据.
  4. 这个新活动有一个类似的流程:一个显示数据的片段,一个显示位置的地图片段 - 由一个操作栏选项按钮切换.

问题:

  1. 我可以在搜索结果(Activity1)列表片段中选择一个列表项,并且成功启动详细信息页面(Activity2).
  2. 当我从(Activity1)中的地图覆盖中选择一个地图项时,应用程序崩溃,我得到如下所示的堆栈跟踪.

到目前为止我尝试过的:

  1. 我搜索过"地图零大小"和相同搜索的许多排列,包括"android"和"illegalstateexception"以及堆栈跟踪的各种行,我检查了甚至与android没有关系但与之相关的结果谷歌地图apis一般,我没有找到任何地方或任何人遇到此错误,除了在这个网址http://www.androidpub.com/1551654但我不知道韩国,谷歌翻译没什么帮助.
  2. 我试图找到源代码的一些片段来看看发生了什么,但事实并非如此.
  3. 我在我的代码中添加了日志以尝试确定异常发生的位置,而我能够找到的所有内容都发生在(Activity2)细节活动开始后的某个时间,也就是在调用onCreate()之后.并且详细信息片段和地图片段都已在onCreate()中成功实例化了booth.我无法在我的代码中找到一个位置来捕获异常.因此,对于我能看到的所有内容,此异常似乎完全是谷歌MapView代码中的一个错误,但如果我在任何地方犯了错误,请显示它.我愿意向任何可以告诉我这里发生了什么的人提供帮助.

所以,总结一下.从具有当前显示的mapview的活动(Activity1)转到另一个也包含另一个mapview的片段的活动(Activity2)时发生崩溃.但是,当从(Activity1)中显示的列表片段转到包含另一个映射片段的其他活动(Activity2)时,不会发生崩溃.

我希望这是足够的细节.如果您有任何疑问,请发表评论.

D/memalloc(  121): /dev/pmem: Allocated buffer base:0x4215c000 size:2088960 offset:4177920 fd:66
D/memalloc(30944): /dev/pmem: Mapped buffer base:0x5b4f5000 size:6266880 offset:4177920 fd:164
D/AndroidRuntime(30944): Shutting down VM
W/dalvikvm(30944): threadid=1: thread exiting with uncaught exception (group=0x40aaa228)
E/AndroidRuntime(30944): FATAL EXCEPTION: main
E/AndroidRuntime(30944): java.lang.IllegalStateException: Map has zero size
E/AndroidRuntime(30944):    at android_maps_conflict_avoidance.com.google.googlenav.map.Map.drawMap(Map.java:818)
E/AndroidRuntime(30944):    at com.google.android.maps.MapView.drawMap(MapView.java:1091)
E/AndroidRuntime(30944):    at com.google.android.maps.MapView.onDraw(MapView.java:522)
E/AndroidRuntime(30944):    at android.view.View.draw(View.java:11071)
E/AndroidRuntime(30944):    at android.view.View.getDisplayList(View.java:10462)
E/AndroidRuntime(30944):    at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:2605)
E/AndroidRuntime(30944): …
Run Code Online (Sandbox Code Playgroud)

android google-maps android-fragments android-mapview android-fragmentactivity

16
推荐指数
1
解决办法
2169
查看次数