android 如何讓彈出的對話方塊不消失,android對話方塊

來源:互聯網
上載者:User

android 如何讓彈出的對話方塊不消失,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();

以上方法,經過測試之後發現,如果在點擊“確定”之前點擊對話方塊以外的地方,對話方塊會消失;但如果點擊“確定”再點擊對話方塊以外的地方,則不會消失。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.