2014-09-29 8 views
87

Potrzebuję pokazać małą wiadomość tekstową użytkownikom, którzy klikają przycisk w mojej aplikacji na Androida, na IOS Po prostu musiałem stworzyć AlertView, który jest prosty w użyciu, ale z Androidem mam problemy, ponieważ rozwiązanie wydaje się x10 razy trudniejsze. Widziałem, że muszę użyć DialogFragment, ale nie mogę zrozumieć, jak to działa, czy ktoś może wyjaśnić? Czy moje rozwiązanie jest dobre, czy też łatwiej jest pokazać użytkownikom prostą wiadomość tekstową?Okno dialogowe z Androidem proste ostrzeżenie

Odpowiedz

275

byłoby po prostu trzeba to zrobić w swojej onClick:

AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create(); 
alertDialog.setTitle("Alert"); 
alertDialog.setMessage("Alert message to be shown"); 
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK", 
    new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int which) { 
      dialog.dismiss(); 
     } 
    }); 
alertDialog.show(); 

Nie wiem skąd widział, że trzeba po prostu pokazując DialogFragment na alarm.

Mam nadzieję, że to pomoże.

+6

FYI - Pierwszy przykład na stronie Android Dev Google pokazuje, jak to zrobić przy użyciu fragmentu: http://developer.android.com /guide/topics/ui/dialogs.html Sądzę, że to prawdopodobnie jest przyczyną tego, że dev uważa, że ​​musi użyć fragmentu dla podstawowego AlertDialog. Szukałem dzisiaj i pomyślałem, że może tak. – raddevus

+1

Lepiej ustawić właściwości w konstruktorze, niż w instancji alertDialog! – alexbirkett

12

Nie przyjacielu jej bardzo proste, spróbuj tego:

AlertDialog alertDialog = new AlertDialog.Builder(AlertDialogActivity.this).create(); 
alertDialog.setTitle("Alert Dialog"); 
alertDialog.setMessage("Welcome to dear user."); 
alertDialog.setIcon(R.drawable.welcome); 

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

alertDialog.show(); 

Ten tutorial pokazuje okno niestandardowe można tworzyć przy użyciu języka XML, a następnie pokazać je jako okno alertu.

+0

Nie przeszedłeś który przycisk. – Leon

4

Możesz łatwo tworzyć własne "AlertView" i używać go wszędzie.

alertView("You really want this?"); 

wdrożyć go kiedyś:

private void alertView(String message) { 
AlertDialog.Builder dialog = new AlertDialog.Builder(context); 

dialog.setTitle("Hello") 
    .setIcon(R.drawable.ic_launcher) 
    .setMessage(message) 
// .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
//  public void onClick(DialogInterface dialoginterface, int i) { 
//   dialoginterface.cancel(); 
//   }}) 
    .setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialoginterface, int i) {     
     }    
     }).show(); 

}