Как установить значок для диалога в Android

Я хочу настроить диалог на Android. Я знаю, как установить заголовок для диалога:

dialog.setTitle("O message"); 

Теперь я хочу установить значок перед заголовком. Как я могу это достичь?

 Dialog dialog; dialog = new Dialog(this); dialog.setContentView(R.layout.layouterror22); dialog.setTitle("O message"); 

Solutions Collecting From Web of "Как установить значок для диалога в Android"

Вы можете добавить значок со следующим кодом:

 Dialog dialog = new Dialog(context); dialog.requestWindowFeature(Window.FEATURE_LEFT_ICON); dialog.setFeatureDrawableResource(Window.FEATURE_LEFT_ICON, R.drawable.your_icon); dialog.setContentView(R.layout.custom_dialog); dialog.setTitle("Dialog Title"); dialog.show(); 

См. «Значки в пользовательских диалогах android» .

использовать это,

 dialog.setIcon(R.drawable.ic_launcher) 

Вам нужно больше средств настройки, обратитесь на этот сайт http://www.androidhive.info/2011/09/how-to-show-alert-dialog-in-android/

 dialog.setIcon(Drawable icon); 

или

 dialog.setIcon(int resId); 

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

Может быть, вам следует использовать AlertDialog. Если вы это сделаете, просто

 AlertDialog.Builder b = new AlertDialog.Builder(yourContext); b.setIcon(yourIcon); /* add other properties thanks to b.set... */ b.create().show(); 

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

Если вы используете viewPager с фрагментами, вы можете вызвать safeExit() из onBackPressed() MainActivity . Это то, что я сделал, у меня никогда не было проблем:

  @Override public void onBackPressed() { try { if (getFragmentManager().getBackStackEntryCount() > 1) { FragmentManager.BackStackEntry first = getFragmentManager().getBackStackEntryAt(0); getFragmentManager().popBackStack(first.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE); } else safeExit(); } catch (Exception e) { e.printStackTrace(); } } private void safeExit() { new Builder(this).setIcon(R.drawable.ic_launcher).setTitle("Exit!").setMessage( "Close Application?").setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { MainActivity.this.finish(); } }).setNegativeButton("No", null).show(); }