2012-03-25 9 views
0

、あなたがItemizedOverlay上でタップすると、それはTextViewの中 タイトル スニペット/ Messsageを表示し、別のItemizedOverlayは私がのImageButtonを作成したクリックまたはアンドロイドONTAPテントアレイ

をタップするたびに変化その上の電話イメージと私はそれに配列のインテントを呼び出すことを試みている 基本的に、ユーザーがOverlay1をタップし、インテントに格納されている番号をPhone Image Buttonにタップすると、Overlay1の番号に変わります。オーバーレイ1を呼び出すことができます。 オーバーレイ2をタップすると、その数値はそれに応じて変更されます。

私のコードは次のとおりです。

List<Overlay> mapOverlays; 
List<Intent> mapIntents; 
NewItemizedOverlay itemizedOverlay; 
Intent intentCall; 

GeoPoint point = new GeoPoint((int)(51.555890943494276*1E6), (int)(-0.39989858865737915*1E6)); 
    OverlayItem overlayitem = new OverlayItem(point, "Greenwood Veterinary" , "57 Station Approach, South Ruislip, Ruislip, Middlesex, HA4 6SL, 020 8845 8144"); 
    itemizedOverlay.addOverlay(overlayitem); 
    Intent vet1 = new Intent(android.content.Intent.ACTION_DIAL,Uri.parse("tel:020 8845 8144")); // i created this in a similar fashion to the itemizedOverlay 
    intentCall.?(vet1); // i wanted to try and do the same thing with the addOverlay but i cant seem to find the correct method of doing this 

GeoPoint point2 = new GeoPoint((int)(51.598707*1E6), (int)(-0.393416*1E6)); 
    OverlayItem overlayitem2 = new OverlayItem(point2, "MediVet Pinner" , "2A Pinner Green, Pinner, Middlesex, HA5 2AA, 020 8866 0727"); 
    itemizedOverlay.addOverlay(overlayitem2); 
    Intent vet2 = new Intent(android.content.Intent.ACTION_DIAL,Uri.parse("tel:020 8866 0727")); 

ItemizedOverlay:

private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>(); 
private ArrayList<Intent> cIntents = new ArrayList<Intent>(); 
Context mContext; 

    public NewItemizedOverlay(Drawable defaultMarker) { 
      super(boundCenterBottom(defaultMarker)); 
    } 

    public NewItemizedOverlay(Drawable defaultMarker, Context context) 
    { 
      super(boundCenterBottom(defaultMarker)); 
      mContext = context; 
    } 

    public void addOverlay(OverlayItem overlay) 
    { 
      mOverlays.add(overlay); 
      populate(); 
    } 

    public void addOverlay(OverlayItem overlay, Intent intent) 
    { 
      mOverlays.add(overlay); 
      cIntents.add(intent); 
      populate(); 
    } 

    @Override 
    protected OverlayItem createItem(int i) { 
      // TODO Auto-generated method stub 
      return mOverlays.get(i); 
    } 

    protected Intent createCall(int c) 
    { 
      return cIntents.get(c); 
    } 

    @Override 
    public int size() { 
      // TODO Auto-generated method stub 
      return mOverlays.size(); 
    } 

    public int callsize() 
    { 
      return cIntents.size(); 
    } 

    @Override 
    protected boolean onTap(int index) { 
    OverlayItem item = mOverlays.get(index); 
    Intent callItem = cIntents.get(index); 


    AlertDialog.Builder dialog = new AlertDialog.Builder(mContext); 
    dialog.setIcon(android.R.drawable.ic_dialog_info); 
    dialog.setTitle(item.getTitle()); 
    dialog.setMessage(item.getSnippet()); 
    dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, int which) { 
        // TODO Auto-generated method stub 

      } 
    }); 
    dialog.setNeutralButton("Call", new DialogInterface.OnClickListener() { 

        @Override 
        public void onClick(DialogInterface dialog, int which) { 
          // TODO Auto-generated method stub 
          VetNumber. //Not sure how to exactly call the Intent 
        } 
      }); 
    dialog.show(); 
    return true; 
    } 

} 

誰が助けることができれば、私は

非常に感謝される

答えて

1

ありがとう多分それは、あなたのために手遅れあなたがどこにいるかを知っているならば、新しい意図を始めることができます。 MapActivityとItemizedOverlayを使用している場合は、LocalizacionItemizedOverlayでコンテキストを取得できます。

dialog.setPositiveButton("Ver", new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int id) { 
     Intent nextScreen = new Intent(mContext, YourActivity.class); //define the intent 
    nextScreen.putExtra("definicionURL",definicion.url); //pass variables 
    mContext.startActivity(nextScreen); //launch the intent 
    } 
}); 

これはstackoverflow.comで私の最初のポストされていると私はここで解決策を投稿し、すべての人々に何かを言いたい:

Context mContext; 
public LocalizacionItemizedOverlay(Drawable defaultMarker, Context context) { 
    super(boundCenterBottom(defaultMarker)); 
    mContext=context; 
} 

はその後ONTAP機能であなたはにはいくつかの類似したが、書くことができ感謝しますあなたは大変です。

関連する問題