因此,在我的程序中,我有一个包含两个选项卡的 TabActivity,一个选项卡是 ListView,另一个是通过 Intent 启动的 MapActivity。我想要我的应用程序做的是发送一个带有电话位置和产品名称的查询,并接收一个最近的拥有该产品的商店的列表,然后在地图选项卡中显示这些商店并在另一个选项卡中显示它们的列表。当 TabActivity 启动时,应用程序开始侦听位置,并在获得位置后立即开始与服务器(在 AsyncTask 中)的通信。
问题是当 TabActivity 启动时,它也启动了 MapActivity,因为它在它的第一个选项卡中,并且 MapActivity 开始尝试在地图上添加叠加层,但是这些叠加层还没有数据,因为 TabActivity 中的 AsyncTask 还没有完成尚未从服务器获取数据,这会导致程序崩溃。
我需要我的应用程序在第一次打开 TabActivity 时显示一个空的谷歌地图,并等待从服务器获取数据,然后将叠加层添加到地图上以标记其上的商店。谁能告诉我如何实现这一目标?我想我应该从 MapActivity 的 onCreate 中删除 Overlay 制作部分代码并将其放在其他地方,但我不知道在哪里。