2013-01-18 10 views
24

To jest mój kod dla alarmu, pokazuje komunikat po naciśnięciu przycisku. Jak mogę zrobić przycisk OK, aby odrzucić?Przycisk Ok dla Alarm Dialog na Androidzie

Button bm1 = (Button) findViewById(R.id.button1); 
    bm1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      AlertDialog alert = new AlertDialog.Builder(screen4.this).create(); 
      alert.setTitle("Doctor"); 
      alert.setMessage("message"); 
      alert.setCancelMessage(null); 
      alert.show(); 
     } 
    }); 
}}  

Położyłem alert.setCancelMessage (null), ale nie pokazuje żadnego przycisku do odrzucenia.

Dzięki za wszystkie odpowiedzi.

Rozwiązanie:

 Button bm1 = (Button) findViewById(R.id.button1); 
     bm1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Builder alert = new AlertDialog.Builder(screen4.this); 
      alert.setTitle("Doctor"); 
      alert.setMessage("message"); 
      alert.setPositiveButton("OK", null); 
      alert.show(); 
     } 
    }); 
+0

Dla tych, którzy sugerują, 'setPositiveButton()' lub 'setNegativeButton()' 'na AlertDialog alert' Wystarczy spojrzeć na http://developer.android.com/reference/android/app/AlertDialog .html – user370305

Odpowiedz

40

Zmień alertdialog do tego:

Builder alert = new AlertDialog.Builder(screen4.this); 
alert.setTitle("Doctor"); 
alert.setMessage("message"); 
alert.setPositiveButton("OK",null); 
alert.show();  
+0

Zobacz http://developer.android.com/reference/android/app/AlertDialog.html – user370305

+0

Zaktualizowałem moją odpowiedź. Sprawdź edycję –

+0

Zrobię to, daje mi błąd i mówi "Metoda setPositiveButton (ciąg null) jest niezdefiniowana dla typu AlertDialog" –

0

alert.setPositiveButton lub alert.setNegativeButton

+0

Zobacz http://developer.android.com/reference/android/app/AlertDialog.html – user370305

1

Można to zrobić za pomocą setPositiveButton i setNegativeButton

alert.setPositiveButton("OK", new OnClickListener() { 

     @Override 
     public void onClick(DialogInterface alert, int which) { 
      // TODO Auto-generated method stub 
      //Do something 
      alert.dismiss(); 
     } 
    }); 
    alert.setNegativeButton("Cancel", new OnClickListener() { 

     @Override 
     public void onClick(DialogInterface alert, int which) { 
      // TODO Auto-generated method stub 
      alert.dismiss(); 
     } 
    }); 

Zmieniano:

alert.setButton("OK", new DialogInterface.OnClickListener() { 

    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     // TODO Auto-generated method stub 
     // Do something 
     alert.dismiss(); 
     } 
    }); 
alert.setButton("Cancel", new DialogInterface.OnClickListener() { 
    @Override 
    public void onClick(DialogInterface dialog, int which) { 
     // TODO Auto-generated method stub 

     alert.dismiss(); 
     } 
    }); 
+0

Nie ma żadnej metody 'setPositiveButton' dla' AlertDialog alert'. – user370305

+0

Spójrz na http://developer.android.com/reference/android/app/AlertDialog.html – user370305

+0

@ user370305, Tak, zupełnie brakowało, że był AlertDialog. –

10

Można tworzyć zarówno OK i przycisk do okna anulować za pomocą tego,

AlertDialog.Builder builder = new AlertDialog.Builder(
         getApplicationContext()); 
       builder.setCancelable(true); 
       builder.setTitle("Title"); 
       builder.setInverseBackgroundForced(true); 
       builder.setPositiveButton("Yes", 
         new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog, 
            int which) { 
           dialog.dismiss(); 
          } 
         }); 
       builder.setNegativeButton("No", 
         new DialogInterface.OnClickListener() { 
          @Override 
          public void onClick(DialogInterface dialog, 
            int which) { 
           dialog.dismiss(); 
          } 
         }); 
       AlertDialog alert = builder.create(); 
       alert.show(); 
+0

builder.setInverseBackgroundForced (true); jest przestarzałe –

0
Button bm1 = (Button) findViewById(R.id.button1); 
    bm1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      AlertDialog alert = new AlertDialog.Builder(screen4.this).create(); 
      alert.setTitle("Doctor"); 
      alert.setMessage("message"); 
      alert.setCancelMessage(null); 

      alert.setButton("OK", new DialogInterface.OnClickListener() { 

       public void onClick(DialogInterface dialog, int which) { 
        //do somthing or dismiss dialog by    dialog.dismiss(); 

       } 
      }); 

      alert.show(); 
     } 
    }); 
}}  
0
Button bm1 = (Button) findViewById(R.id.button1); 
bm1.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    final AlertDialog dialog = new AlertDialog.Builder(screen4.this).create(); 
    dialog.setTitle("Doctor"); 
    dialog.setMessage("message"); 
    dialog.setButton("Ok",new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
      // here you can add functions 

      } 
    }); 
    dialog.setButton2("Cancel",new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
     // here you can add functions 
       dialog.dismiss(); 
    } 
    }); 
    dialog.show(); 
    }};  
+0

Daje błąd "Metoda setButton (Charsquence, DialogInterface.OnClickListener) z typu AlertDialog jest przestarzała" –

3

że nie można po prostu być wykonane przez tylko za pomocą przycisku pozytywny?

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setMessage("Look at this dialog!") 
     .setCancelable(false) 
     .setPositiveButton("OK", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       //do things 
      } 
     }); 
AlertDialog alert = builder.create(); 
alert.show(); 
1
bt = (Button) findViewById(R.id.button1); 
    bt.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      ab = new AlertDialog.Builder(MainActivity.this); 

      ab.setTitle("confirm"); 
      ab.setIcon(R.drawable.ic_launcher); 
      ab.setMessage("Do u want to close this application?"); 

      ab.setPositiveButton("ok", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int i) { 
        Toast.makeText(MainActivity.this, "ok", Toast.LENGTH_SHORT).show(); 
       } 
      }); 

      ab.setNegativeButton("cancle", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int i) { 
        Toast.makeText(MainActivity.this, "cancle", Toast.LENGTH_SHORT).show(); 
       } 
      }); 

      ab.show(); 
     } 
    }); 
+0

Proszę podać wyjaśnienie swojego kodu. – Pureferret

Powiązane problemy