0

ご存じのように、オーバーレイ アイテムには、タイトル、メッセージ、描画可能な画像しかありません。

たとえば、ID、通り、都市、国などのフィールドを持つカスタマイズ アイテムを作成したいと考えています。

OnTap が呼び出された後、その情報をリストビューに表示したいので、アイテムをタップすると、指定されたアイテムの ID、通り、都市、および国のリストが表示されます。

したがって、私が理解しているように、そのリストを表示する別のアクティビティを作成する必要があります。つまり、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

次の方法で 2 つのコンストラクターを定義する必要があります。この方法は私にとってはうまくいきます。

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 に答える