具有更多字段的ItemizedOverlay

时间:2012-09-12 15:24:31

标签: java android overlay parcelable

如您所知,叠加项目只包含标题,消息和可绘制图像。

我想创建一个自定义项目,例如还包含以下字段:ID,街道,城市,国家/地区。

在调用OnTap后,我想在列表视图中显示该信息,因此点击该项目后会出现一个列表,其中包含指定项目的ID,街道,城市和国家/地区。

因此,据我所知,我必须创建另一个将显示该列表的活动,这意味着我必须通过Parceling itemizedoverlay类将数据发送到listActivity。

我很难想到如何做到这一点,因为当我创建构造函数时:

public MyItemizedOverlay(Parcel source){
     /*
      * Reconstruct from the Parcel
      */
     Log.d("MyTag", "ParcelData(Parcel source): time to put back parcel data");

     ID = source.readInt();
     imagePath = source.readInt();
     distance = source.readFloat();

}

我收到以下错误(意味着我必须调用基础构造函数):

  

隐式超级构造函数ItemizedOverlay()未定义。必须显式调用另一个构造函数

结论:很有可能会有另一个解决方案,我相信人们已经面对这种情况了,所以我很乐意听到你的解决方案。

1 个答案:

答案 0 :(得分:1)

您需要按以下方式定义两个构造函数,此方法适用于我:

public HelloItemizedOverlay(Drawable defaultMarker) {
  super(boundCenterBottom(defaultMarker));
}
public HelloItemizedOverlay(Drawable defaultMarker, String ID, String city, String country) {
  super(boundCenterBottom(defaultMarker));
  #do something with the ID, city, country. Possibly store them in instance variables
}