如您所知,叠加项目只包含标题,消息和可绘制图像。
我想创建一个自定义项目,例如还包含以下字段: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()未定义。必须显式调用另一个构造函数
结论:很有可能会有另一个解决方案,我相信人们已经面对这种情况了,所以我很乐意听到你的解决方案。
答案 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
}