2011-07-14 18 views
7

Mam aplikację, która pozwala użytkownikom na usuwanie plików wideo. Po naciśnięciu przycisku kasowania używamJak wyświetlać odpowiednią ikonę w oknie dialogowym?

DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int which) { 
     switch (which) { 
     case DialogInterface.BUTTON_POSITIVE: 
      // mycode........ 
      break; 
     case DialogInterface.BUTTON_NEGATIVE: 
      // mycode..... 
      break; 
     } 
    } 
}; 

Ale ta wiadomość nie ma ostrzeżenia lub usunąć ikonę jak widzimy w urządzeniach z Androidem. Czy ktoś może mi pomóc w uzyskaniu tych ikon lub za pomocą innych okien dialogowych z alertami, które mogą wyświetlać te ikony?

+1

proszę pisać kod, gdzie tworzysz AlertDialog. –

+0

Sir, użyłem okna dialogowego (nie jest to okno alertu) i chcę mieć przykład użycia diagogia alertu .. czy możesz mi dać jeden .. – Farhan

Odpowiedz

25

I mają tendencję do używania AlertDialog.Builder jak pokazują one w oficjalnym przykład doc

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setMessage("Are you sure you want to exit?") 
    .setCancelable(false) 
    .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      MyActivity.this.finish(); 
     } 
    }) 
    .setNegativeButton("No", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.cancel(); 
     } 
    }) 
    //Set your icon here 
    .setTitle("Alert!") 
    .setIcon(R.drawable.icon); 
AlertDialog alert = builder.create(); 
alert.show();//showing the dialog 

chodzi o rzeczywistą ikona wygląd wewnątrz folderu SDK/platform/android wersja #/danych/RES/odkształcalne-MDPI lub coś

+0

Próbowałem ustawić ciągnięcie, ale nie jest wyświetlane w oknie dialogowym – Farhan

+1

hmm, spróbuj ustawić także tytuł. Myślę, że to może być powód, dla którego go nie widzisz. spróbuj mojego edytowanego kodu. –

+2

Kevin ma rację, spróbuj też ustawić tytuł. –

0

Wystarczy zastąpić .setIcon(R.drawable.icon); do .setIcon(getResources().getDrawable(R.drawable.icon)); Ale to przestarzała.

1

W celu ustawienia domyślnego okna ikony korzystania:

.setIcon(android.R.drawable.ic_dialog_alert) 

Istnieje kilka więcej ikon dostępnych:

  • android.R.drawable.ic_dialog_dialer
  • android.R.drawable .ic_dialog_info
  • android.R.drawable.ic_dialog_email
  • android.R.drawable.ic_dialog_map
0

Innym (brudny) sposób:

TypedValue typedValue = new TypedValue(); 
getTheme().resolveAttribute(android.R.attr.alertDialogIcon, typedValue, true); 

new AlertDialog.Builder(this) 
    .setIcon(typedValue.resourceId) 
    ... 
    .show(); 
Powiązane problemy