0

Ich bin neu in Android, aber ich habe es geschafft, ein paar Tutorials zu folgen, um mich zu starten .. Was ich tun möchte, ist ein Warndialog mit drei Schaltflächen erscheinen, sobald der Benutzer auf dem Bildschirm für mehr berühren als 2 (Sekunden) Das Problem, auf das ich stoße, ist die ALERTDIALOG-Box, die nicht auf der Karte erscheint, wenn ich sie einleite .. ich bekomme keine Fehler? also kann mir bitte jemand helfen.AlertDialog wird nicht auf GoogleMap angezeigt. Panik

Unten ist mein Code ....

long start; 
    long stop; 

    //reference map from citymap.xml file 
    map = (MapView) findViewById(R.id.mvMain); 

    // Enable zoom features 
    map.setBuiltInZoomControls(false); 

    //Declaring the instance Interaction 
    Interact t = new Interact(); 

    //declaring a list of overlays 
    List<Overlay> overlayList = map.getOverlays(); 

    // interact t in to overlay list. 
    overlayList.add(t); 

    class Interact extends Overlay {  
     public boolean OnTouchEvent(MotionEvent e, MapView m){ 
     // initiating motion event action down 
     if(e.getAction() == MotionEvent.ACTION_DOWN){ 
     // set start time 
      start = e.getEventTime(); 

     } 
     // Initiating motion event action up: when the user stops on touch event 
     if(e.getAction() == MotionEvent.ACTION_UP){ 
      // set end time 
      stop = e.getEventTime(); 
     } 
     // calculating the time to project an alert dialog 
     if (stop > 1500){ 
      Toast.makeText(CityMap.this, "toast meee", 50000).show(); 
      //perform an action, create alert dialog box 
      AlertDialog.Builder builder = new AlertDialog.Builder(CityMap.this).create(); 
      builder.setTitle("Select an Option"); 
      builder.setCancelable(true); 
      builder.setPositiveButton("Place pint Point", new DialogInterface.OnClickListener() { 

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

       } 
      }); 
builder.create(); 
      builder.show(); 
      return true; 
     } 
     return true; 
+0

Versuchen Sie, Z-Index und Hintergrundfarbe für Warndialogfeld anzugeben. – Unknown

Antwort

0

Ich denke, messed Sie die letzte if-Anweisung ein wenig. Versuchen Sie, beim zweiten Mal falsch zu antworten.

Check out Mine:

if (stop - start > 1500) { 
      // perform some action 
      AlertDialog alert = new AlertDialog.Builder(Main.this).create(); 
      alert.setTitle("Pick an option"); 
      alert.setMessage("Pick an option dude!"); 

      alert.setButton("Place a pin", 
        new DialogInterface.OnClickListener() { 

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

         } 
        }); 

this helps;)

0

Für @Pepys: Diese Methode ist veraltet. Sie sollten verwenden

alert.setPositiveButton("your text", new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface dialog, int which) {... 
}}); 
Verwandte Themen