2014-09-29 6 views
87

Мне нужно показать небольшое текстовое сообщение пользователям, которые нажимают кнопку в моем приложении для Android, на IOS мне просто нужно создать AlertView, который прост в использовании, но с Android я борется, потому что решение кажется x10 раз сложнее. Я видел, что мне нужно использовать DialogFragment, но я не могу понять, как заставить его работать, может кто-нибудь объяснить? Кроме того, мое решение правильно или есть что-то более простое, чтобы показать простое текстовое сообщение пользователям?Android alert alert dialog

ответ

275

Вам просто нужно будет сделать это в 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(); 

Я не знаю, откуда вы видели, что нужно для DialogFragment просто показывает предупреждение.

Надеюсь, это поможет. не

+6

FYI - Первый пример на сайте Android Dev Google показывает, как сделать это с помощью фрагмента: http://developer.android.com /guide/topics/ui/dialogs.html Я думаю, что это возможно, что заставляет разработчика думать, что ему нужно использовать фрагмент для базового AlertDialog. Я искал сегодня и думал, может быть, так. – raddevus

+1

Лучше установить свойства в построителе, а не в экземпляре alertDialog! – alexbirkett

12

Нет мой друг его очень просто, попробуйте использовать это:

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(); 

Это tutorial показывает, как можно создать диалоговое окно пользовательского с помощью XML, а затем показать их в качестве предупреждения диалога.

+0

Вы не прошли какую кнопку. – Leon

4

Вы можете легко создать свой собственный «AlertView» и использовать его везде.

alertView("You really want this?"); 

Реализовать его однажды:

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(); 

}