2012-09-10 104 views
0

我正在研究基於地圖的應用程序。比方說,我有三個類:MapsActivity,MyItemizedOverlay & GetDirectionActivity。在MyItemizedOverlay中,我想在單擊肯定對話框按鈕後切換到GetDirectionActivity。 ActiveDialog放在onTap方法下,這樣我就可以得到GeoPoint。對於這一點,我做了什麼: 在ItemizedOverlay類:從AlertDialog按鈕切換活動

@Override 
public boolean onTap(GeoPoint p, MapView mapView) { 
    // TODO Auto-generated method stub 
    int lat = p.getLatitudeE6(); 
    int lot = p.getLongitudeE6(); 
    AlertDialog.Builder dialog = new AlertDialog.Builder(mContext); 
    dialog.setTitle("Confirmation"); 
    dialog.setMessage("Confirm this as end point ?"); 
    dialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 

     @Override 
     public void onClick(DialogInterface dialog, int arg1) { 
      // TODO Auto-generated method stub 
      Intent intent = new Intent(mContext, GetDestination.class); 
      startActivity(intent); 
     } 
    }); 
    dialog.setNegativeButton("No", null); 
    dialog.show(); 
    return true ; 
      } 

這裏IDE顯示,我在startActivity(意向)線錯誤。 我已經試過了也: 在MyItemizedOverlay類:

@Override 
public boolean onTap(GeoPoint p, MapView mapView) { 
      return super.onTap(p, mapView); } 

在MapsActivity類:

GeoPoint point2 = null ; 
      confirmationOverlay.onTap(point2, mapView) ; 
      int latt = point.getLatitudeE6() ; 
      int longt = point.getLongitudeE6(); 
      final int endpointArray [] = {latt , longt}; 
      if(some condition to show the alert dialog after tapping) 
      { 
       AlertDialog.Builder dialog = new AlertDialog.Builder(MapsActivity.this); 
       dialog.setTitle("Confirmation"); 
       dialog.setMessage("Confirm this location as end point ?"); 
       dialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 

        @Override 
        public void onClick(DialogInterface dialog, int arg1) { 
         // TODO Auto-generated method stub 
         Intent intent = new Intent(MapsActivity.this,GetDestination.class); 
         intent.putExtra("geopoint" , endpointArray); 
         startActivity(intent); 
        } 
       }); 
       dialog.setNegativeButton("No", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialog, int arg1) { 

        } 
       }); 
       dialog.show(); 
      } 

對於if語句什麼樣的條件下可以使用嗎?如果我將它設置爲lat> 0,則alertdialog不會在地圖上點擊而出現。 我知道這是非常愚蠢的,但因爲我是新的都在Android & java,我希望你們會考慮它。請幫忙 !

回答

1

論ItemizedOverlay類把你的OnTap中的方法:

AlertDialog dialog = new AlertDialog.Builder(MapsActivity.context).create(); 
      dialog.setTitle("Confirmation"); 
      dialog.setMessage("Confirm this location as end point ?"); 

    dialog.setButton(DialogInterface.BUTTON_POSITIVE,"Yes", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
         // TODO Auto-generated method stub 

    Intent intent = new Intent(MapsActivity.context, GetDestination.class); 
         //you must put your map activity  
          MapsActivity.context.startActivity(intent); 


         } 
        }); 


       dialog.show(); 
+0

感謝您的答覆。我剛剛查看了您的個人資料,發現您提出或回答的所有問題都與谷歌地圖有關。看起來像,你也在研究地圖應用程序。 [email protected]是我的郵寄地址。如果你希望你可以和我聯繫。有一個地圖怪胎的聯繫人將是偉大的我。不管怎麼說,還是要謝謝你 。 :-) –

+0

歡迎您!:)當然,爲什麼不呢。 :)如果您需要Google地圖的幫助,可以聯繫我,否則我會與您聯繫。 :) – pandabear