Android中Alertdialog對話方塊點擊消失?

來源:互聯網
上載者:User

       在開發的時候遇到一個問題,就是一觸摸對話方塊邊緣外部,對話方塊會自動消失。這個問題很糾結啊,尋找了一下發現從Android 4.0開始,AlertDialog有了變化,就是在觸摸對話方塊邊緣外部,對話方塊會自動消失,查了源碼,找到解決辦法:

 

       研究其父類時候發現,可以設定這麼一條屬性,在AlertDialog.Builder.create()之後才能調用這兩個方法

 

方法一:

setCanceledOnTouchOutside(false);調用這個方法時,按對話方塊以外的地方不起作用。按返回鍵還起作用

方法二:

setCanceleable(false);調用這個方法時,按對話方塊以外的地方不起作用。按返回鍵也不起作用

這兩個方法都屬於Dialog方法,可查閱源碼

 

修改後的源碼如下:

 

case 1:                    dismissDialog(1);                    new Builder(SplashActivity.this).setTitle("提示").setCancelable(false)                            .setMessage("擷取軟體初始化資訊失敗!\n請檢查網路是否通暢。")                            .setPositiveButton("確認", new OnClickListener() {                                @Override                                public void onClick(DialogInterface dialog, int which) {                                    dialog.dismiss();                                    SplashActivity.this.finish();                                }                            }).show();                                        break;

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.