2014-04-26 6 views
2

* J'ai créé une boîte de dialogue d'alerte à afficher après avoir cliqué sur le marqueur
* mais quand je clique sur le marqueur il bloque l'application.
* Quel pourrait être le problème? Y a-t-il quelque chose qui me manque?
Merci à l'avance
AlertDialog ne pas montrer quand je clique sur le marqueur

googleMap.setOnMarkerClickListener(new OnMarkerClickListener() { 

      @SuppressWarnings("deprecation") 
      @Override 
      public boolean onMarkerClick(Marker marker) { 

       showAlertDialog(); 

       return false; 

      } 


     }); 



private void showAlertDialog() { 

    AlertDialog alert = new AlertDialog.Builder(
      getBaseContext()).create(); 

    alert.setTitle("Location Selected"); 
    alert.setMessage("Add this Location to your"); 
    alert.setButton("Places", 

      new DialogInterface.OnClickListener() { 

       //code goes here 
      }); 
    alert.setButton("Activities", 
      new DialogInterface.OnClickListener() { 

       //code goes here 
       } 

      }); 
    alert.show(); 

} 
+0

pouvez-vous s'il vous plaît poster vous LogCat pour une meilleure compréhension snippet? –

Répondre

0
@SuppressWarnings("deprecation") 
    void showAlertDialog(final LatLng markerPosition) { 

     AlertDialog alertDialog = new AlertDialog.Builder(GoogleMapViewer.this) 
       .create(); 

     alertDialog.setTitle("Location Selected"); 

     alertDialog.setMessage("Add this Location to your"); 

     alertDialog.setButton2("Places", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int which) { 
       Toast.makeText(getApplicationContext(), 
         "You clicked on Places", Toast.LENGTH_SHORT).show(); 
      } 
     }); 

     alertDialog.setButton3("Activities", 
       new DialogInterface.OnClickListener() { 
        public void onClick(DialogInterface dialog, int which) { 
         Intent act_intent = new Intent(); 
         act_intent.setClass(GoogleMapViewer.this, 
           addActivities.class); 
         act_intent.putExtra("username", savedUserName); 
         act_intent 
           .putExtra("latitude", markerPosition.latitude); 
         act_intent.putExtra("longitude", 
           markerPosition.longitude); 
         startActivity(act_intent); 

        } 
       }); 

     alertDialog.show(); 
    } 
0

Essayez

AlertDialog.Builder alert = new AlertDialog.Builder(getBaseContext()).create(); 

au lieu de

AlertDialog alert = new AlertDialog.Builder(getBaseContext()).create(); 
+0

Il est dit ne peut pas convertir de AlertDialog en AlertDialog.Builder – phpnerd

Questions connexes