0

我創建了一個覆蓋圖,當我按下其中一個按鈕向我顯示一個帶有按鈕的對話框並且按下按鈕啓動另一個活動時,我需要因爲我嘗試了startActivity(意圖),但給我錯誤。如何從谷歌地圖警報對話框中啓動活動

公共類MiItemizedOverlay擴展ItemizedOverlay {

public MiItemizedOverlay(Context context, Drawable defaultMarker) { 
    super(boundCenterBottom(defaultMarker)); 
    this.context = context; 
} 

public void addLocalizacion(double lat, double lon, String etiqueta) { 
    int lt = (int) (lat * 1E6); 
    int ln = (int) (lon * 1E6); 
    punto = new GeoPoint(lt, ln); 
    OverlayItem item = new OverlayItem(punto, etiqueta, null); 
    mOverlays.add(item); 
    populate(); 
} 

public void clear() { 
    mOverlays.clear(); 
    populate(); 
} 

@Override 
protected OverlayItem createItem(int i) { 
    return mOverlays.get(i); 
} 

@Override 
public int size() { 
    return mOverlays.size(); 
} 

@Override 
protected boolean onTap(int index) { 
    OverlayItem item = mOverlays.get(index); 
    AlertDialog.Builder dialog = new AlertDialog.Builder(context); 
    dialog.setTitle(item.getTitle()); 
    dialog.setMessage(item.getSnippet()); 
    dialog.setPositiveButton("Go", new DialogInterface.OnClickListener() { 

     public void onClick(DialogInterface dialog, int id) { 
      Intent intent = new Intent(context, OtraActivity.class); 
      startActivity(intent); 


     } 
    }).create().show(); 
    return true; 
} 

}

+0

很難發現你的錯誤沒有logcat! – Gridtestmail

回答

2

使用的MiItemizedOverlay class

@Override 
protected boolean onTap(int index) { 
    OverlayItem item = mOverlays.get(index); 
    AlertDialog.Builder dialog = new AlertDialog.Builder(context); 
    dialog.setTitle(item.getTitle()); 
    dialog.setMessage(item.getSnippet()); 
    dialog.setPositiveButton("Go", new DialogInterface.OnClickListener() { 

     public void onClick(DialogInterface dialog, int id) { 
      Intent intent = new Intent(context, OtraActivity.class); 
      //here 
      context.startActivity(intent); 
     } 
    }).create().show(); 
    return true; 
} 

Context領域,不要忘記調用其他活動

之前關閉該對話框
+0

我試過這個,但沒有工作,給我強制關閉 –

+0

它的工作,失敗是在我的活動(OtraActivity),因爲佈局不能開始 –

0
protected boolean onTap(int index) { 
    OverlayItem item = mOverlays.get(index); 
    AlertDialog.Builder dialog = new AlertDialog.Builder(context); 
    dialog.setTitle(item.getTitle()); 
    dialog.setMessage(item.getSnippet()); 
    dialog.setPositiveButton("Go", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      Intent intent = new Intent(context, OtraActivity.class); 
      dialog.cancel(); 
      context.startActivity(intent); 
     }}); 
    dialog.show(); 
    return true; 
}