当前位置: 代码迷 >> Android >> android 怎么让弹出的对话框不消失
  详细解决方案

android 怎么让弹出的对话框不消失

热度:116   发布时间:2016-04-24 12:01:30.0
android 如何让弹出的对话框不消失

Builder builder = new AlertDialog.Builder(this);
  builder.setTitle(android.R.string.dialog_alert_title)
    .setIcon(android.R.drawable.ic_dialog_info)
    .setPositiveButton(android.R.string.ok,
      new OnClickListener() {
       public void onClick(DialogInterface dialog,
         int which) {

       // 不消失
        try {
         java.lang.reflect.Field field = dialog
           .getClass().getSuperclass()
           .getDeclaredField("mShowing");
         field.setAccessible(true);
         field.set(dialog, false);
        } catch (Exception e) {
         e.printStackTrace();
        }
       }
      })
    .setNegativeButton(android.R.string.no,
      new OnClickListener() {
       public void onClick(DialogInterface dialog,
         int which) {

        // 消失
        try {
         java.lang.reflect.Field field = dialog
           .getClass()
           .getSuperclass()
           .getDeclaredField("mShowing");
         field.setAccessible(true);
         field.set(dialog, true);
        } catch (Exception e) {
         e.printStackTrace();
        }
        dialog.dismiss();
       }
      }).show();

以上方法,经过测试之后发现,如果在点击“确定”之前点击对话框以外的地方,对话框会消失;但如果点击“确定”再点击对话框以外的地方,则不会消失。

  相关解决方案