Java 安卓onTap意向阵列

Java 安卓onTap意向阵列,java,android,arraylist,maps,itemizedoverlay,Java,Android,Arraylist,Maps,Itemizedoverlay,在my MapActivity上,当您点击ItemizedOverlay时,它会显示 标题 文本视图中的代码段/消息,并在每次单击或点击另一个ItemizedOverlay时进行更改 我已经创建了一个带有手机图像的ImageButton,我正在尝试调用一个数组来创建它 因此,基本上,当用户点击Overlay1,然后决定点击手机图像按钮时,存储在intent中的号码会更改为Overlay1的号码,因此他们可以呼叫Overlay1 如果他们点击叠加2,那么数字会相应改变,等等 我的代码如下: Lis

在my MapActivity上,当您点击ItemizedOverlay时,它会显示 标题 文本视图中的代码段/消息,并在每次单击或点击另一个ItemizedOverlay时进行更改

我已经创建了一个带有手机图像的ImageButton,我正在尝试调用一个数组来创建它 因此,基本上,当用户点击Overlay1,然后决定点击手机图像按钮时,存储在intent中的号码会更改为Overlay1的号码,因此他们可以呼叫Overlay1 如果他们点击叠加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"));
列出地图覆盖图;
列出地图内容;
NewItemizedOverlay itemizedOverlay;
意图呼叫;
地质点=新的地质点((内部)(51.555890943494276*1E6),(内部)(0.399858865737915*1E6));
OVERLAYTEM OVERLAYTEM=新OVERLAYTEM(点,“绿林兽医”,“57号车站引道,南瑞斯里普,瑞斯里普,米德尔塞克斯,HA4 6SL,020 8845 8144”);
itemizedOverlay.addOverlay(overlayitem);
Intent vet1=新意图(android.content.Intent.ACTION_DIAL,Uri.parse(“电话:020 8845 8144”);//我以类似于ItemizeOverlay的方式创建了这个
意向调用?(审核1);//我想尝试用addOverlay做同样的事情,但我似乎找不到正确的方法
地质点2=新的地质点((int)(51.598707*1E6),(int)(-0.393416*1E6));
OverlayItem overlayitem2=新的OverlayItem(第2点,“MediVet Pinner”,“2A Pinner Green,Pinner,Middlesex,HA5 2AA,020 8866 0727”);
itemizedOverlay.addOverlay(overlayitem2);
Intent vet2=新的Intent(android.content.Intent.ACTION_拨号,Uri.parse(“电话:020 8866 0727”);
项目化覆盖:

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;
   }

}
private ArrayList mOverlays=new ArrayList();
private ArrayList cIntents=new ArrayList();
语境;
public NewItemizedOverlay(可绘制默认标记){
super(boundCenterBottom(defaultMarker));
}
public NewItemizedOverlay(可绘制的默认标记,上下文)
{
super(boundCenterBottom(defaultMarker));
mContext=上下文;
}
公共void addOverlay(OverlayItem overlay)
{
添加(覆盖);
填充();
}
公共void addOverlay(OverlayItem overlay,Intent-Intent)
{
添加(覆盖);
添加(意图);
填充();
}
@凌驾
受保护的OverlayItem createItem(int i){
//TODO自动生成的方法存根
返回mOverlays.get(i);
}
受保护的意图createCall(int c)
{
返回。获取(c);
}
@凌驾
公共整数大小(){
//TODO自动生成的方法存根
返回mOverlays.size();
}
公共int callsize()
{
返回cIntents.size();
}
@凌驾
受保护的布尔onTap(整数索引){
OverlayItem item=mOverlays.get(索引);
Intent callItem=cinants.get(索引);
AlertDialog.Builder dialog=新建AlertDialog.Builder(mContext);
setIcon(android.R.drawable.ic_dialog_info);
setTitle(item.getTitle());
setMessage(item.getSnippet());
setPositiveButton(“确定”,新的DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
//TODO自动生成的方法存根
}
});
setNeutralButton(“调用”,新建DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
//TODO自动生成的方法存根
VetNumber//不确定如何准确调用意图
}
});
dialog.show();
返回true;
}
}
如果有人能帮忙,我将非常感激


谢谢你

也许对你来说太晚了,但是如果你知道你所处的环境,你可以开始一个新的意图。如果使用MapActivity和ItemizeOverlay,可以在LocalizacionItemizedOverlay中获取上下文

Context mContext;
public LocalizacionItemizedOverlay(Drawable defaultMarker, Context context) {
    super(boundCenterBottom(defaultMarker));
    mContext=context;
}
然后在onTap函数中,您可以编写一些类似于:

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上的第一篇帖子,我想对所有在这里发布解决方案的人说一句话:非常感谢