Android应用程序结构问题

我目前正在开发一个使用MapView并为其添加叠加层的应用程序。基本上在任何一个给定时间,覆盖列表不应超过两个。 继承人我试图做的事情...... 我已经扩展了ItemizedOverlay类(MyFriendOverlay),然后在扩展类中创建了一个私有ArrayList对象,我将这些对象附加到。然而;我遇到了一个问题,我不确定如何修复。如果你看一下这段代码:
ImageView mapMarker = new ImageView(getApplicationContext());
mapMarker.setImageResource(R.drawable.markertrp);

myPointsToShow = new myFriendOverlay(mapMarker.getDrawable(), getApplicationContext());

在这里可以注意到,我创建了一个带有基于我的drawables的图标的ImageView。在此之后,我从ItemizedOverlay获得了扩展类。在构造函数中,它采用drawable和context两个参数。 据我所知,下面的构造函数是必需的(也许可以修改):
public myFriendOverlay(Drawable defaultMarker, Context context)
这里的问题是我不断创建myPointsToShow的新实例,这是一个问题,因为我有一个我想在扩展类中使用的ArrayList,所以我可以直接控制叠加层。通过每次实例化一个新的,我并没有真正添加到列表本身。 简而言之: 我想要的只是我的应用程序有两个点(A和B),如果检测到B的新位置,则从覆盖列表中删除B,并将其替换为新位置。 A也一样。为了简化它,我想将索引0附加到A并将索引1附加到B,这样它就不会跨越两个点。 由于必要的构造函数的问题,我无法想出一个解决方案,也许我在想它太难了...... 请提供任何反馈! :) 谢谢阅读。     
已邀请:
根据我的经验,我所做的是以下内容: 为我要展示的每种图像创建一个项目叠加层。 如果每个叠加的项目列表不是很长,我将其传递到intent中。 顺便说一句,你需要使用
R.drawable.something
作为叠加层。您不需要创建
ImageView
。 我一直在使用这个android-library for maps:android-mapviewballoons。看看这个!     

要回复问题请先登录注册