2011-07-14 40 views
7

Tôi có một ứng dụng cho phép người dùng xóa tệp video. Khi tôi nhấn nút xóa, tôi đang sử dụngCách hiển thị biểu tượng thích hợp trên hộp thoại

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; 
     } 
    } 
}; 

Nhưng thông báo này không có biểu tượng cảnh báo hoặc xóa như chúng ta thấy trong các thiết bị Android. Bất cứ ai có thể giúp tôi trong việc có được những biểu tượng hoặc sử dụng bất kỳ hộp thoại cảnh báo khác có thể hiển thị những biểu tượng?

+1

xin vui lòng gửi mã, nơi bạn đang tạo AlertDialog. –

+0

Thưa ông, tôi đã sử dụng hộp thoại (không phải hộp thoại cảnh báo) và muốn có một ví dụ về sử dụng bảng thông báo cảnh báo .. bạn có thể cho tôi một .. – Farhan

Trả lời

25

tôi có xu hướng sử dụng AlertDialog.Builder như họ hiển thị trong doc dụ chính thức

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 

Đối với giao diện biểu tượng thực tế bên trong của bạn thư mục sdk/nền tảng/phiên bản android #/data/res/drawable-mdpi hoặc một cái gì đó

+0

tôi đã cố gắng đặt drawable nhưng không hiển thị trong hộp thoại – Farhan

+1

hmm, hãy thử đặt tiêu đề quá. Tôi nghĩ rằng đó có thể là lý do tại sao bạn không nhìn thấy một. hãy thử mã đã chỉnh sửa của tôi. –

+2

Kevin cũng phải thử đặt tiêu đề. –

0

Chỉ cần thay thế .setIcon(R.drawable.icon); đến .setIcon(getResources().getDrawable(R.drawable.icon)); Nhưng nó không còn được dùng nữa.

1

Để thiết lập mặc định biểu tượng Dialog sử dụng:

.setIcon(android.R.drawable.ic_dialog_alert) 

Có một vài biểu tượng hơn có sẵn:

  • 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

khác (bẩn) cách:

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

new AlertDialog.Builder(this) 
    .setIcon(typedValue.resourceId) 
    ... 
    .show(); 
Các vấn đề liên quan