0

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

我想创建一个自定义项目,例如还具有以下字段: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() 未定义。必须显式调用另一个构造函数

结论:很有可能有另一种解决方案,我相信人们已经面临过这种情况,所以我很高兴听到你的解决方案。

4

1 回答 1

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
}
于 2012-09-12T16:49:14.907 回答