Android中阻止AlertDialog關(guān)閉實(shí)例代碼
Android如何關(guān)閉AlertDialog.Builder對話框呢?AlertDialog.Builder對話框沒有類似finish()或者dismiss()這樣的方法。
但是它的父類AlertDialog有dismiss方法,而且AlertDialog.Builder在.show()的時候會得到一個AlertDialog對象,我們就可以用dismiss方法將該Builder關(guān)閉。
AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog dialog = builder.show(); dialog.dismiss();
關(guān)于Android阻止AlertDialog關(guān)閉具體代碼如下所示:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle("測試"); LayoutInflater inflater = getActivity().getLayoutInflater(); View view = inflater.inflate(R.layout.dialogfragment_num_input, null); builder.setView(view); builder.setPositiveButton("確定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { Field field = null; try { //通過反射獲取dialog中的私有屬性mShowing field = dialog.getClass().getSuperclass().getDeclaredField("mShowing"); field.setAccessible(true);//設(shè)置該屬性可以訪問 } catch (Exception ex) { } String inputValue = String.valueOf(mEdit.getText()); if (inputValue == null || "".equals(inputValue)) { try { //設(shè)置dialog不可關(guān)閉 field.set(dialog, false); dialog.dismiss(); } catch (Exception ex) { } } else { // //做自己的事 // try { //關(guān)閉 field.set(dialog, true); dialog.dismiss(); } catch (Exception ex) { } } } }); builder.setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int id) { Field field = null; try { //通過反射獲取dialog中的私有屬性mShowing field = dialog.getClass().getSuperclass().getDeclaredField("mShowing"); field.setAccessible(true);//設(shè)置該屬性可以訪問 } catch (Exception ex) { } try { field.set(dialog, true); dialog.dismiss(); } catch (Exception ex) { } } }); builder.create();
- Android 自定義AlertDialog對話框樣式
- Android AlertDialog自定義樣式實(shí)現(xiàn)代碼
- Android實(shí)現(xiàn)點(diǎn)擊AlertDialog上按鈕時不關(guān)閉對話框的方法
- Android中AlertDialog各種對話框的用法實(shí)例詳解
- Android使用自定義alertdialog實(shí)現(xiàn)確認(rèn)退出按鈕
- Android中AlertDialog的六種創(chuàng)建方式
- Android對話框AlertDialog.Builder使用方法詳解
- Android編程之自定義AlertDialog(退出提示框)用法實(shí)例
- Android中AlertDialog 點(diǎn)擊按鈕后不關(guān)閉對話框的功能
- ANDROID中自定義對話框AlertDialog使用示例
- Android編程自定義AlertDialog樣式的方法詳解
相關(guān)文章
Android自定義View實(shí)現(xiàn)課程表表格
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)課程表表格,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03Android使用 Retrofit 2.X 上傳多文件和多表單示例
本篇文章主要介紹了Android使用 Retrofit 2.X 上傳多文件和多表單示例,具有一定的參考價(jià)值,有興趣的小伙伴一起來了解一下2017-08-08Android WebView的使用方法及與JS 相互調(diào)用
這篇文章主要介紹了Android WebView的使用方法及與JS 相互調(diào)用的相關(guān)資料,WebView 是 Android 中一個非常實(shí)用的組​件, WebView 可以使得網(wǎng)頁輕松的內(nèi)嵌到app里,還可以直接跟js相互調(diào)用,需要的朋友可以參考下2017-07-07Android?Flutter實(shí)現(xiàn)任意拖動的控件
使用flutter開發(fā)是需要控件能拖動,比如畫板中的元素,或者工具條等,所以本文為大家準(zhǔn)備了Flutter實(shí)現(xiàn)任意拖動控件的示例代碼,希望對大家有所幫助2023-07-07Android編程布局(Layout)之AbsoluteLayout用法實(shí)例分析
這篇文章主要介紹了Android編程布局(Layout)之AbsoluteLayout用法,結(jié)合實(shí)例形式簡單分析了Android絕對布局AbsoluteLayout的實(shí)現(xiàn)方法,需要的朋友可以參考下2015-12-12android 線性布局LinearLayout實(shí)例代碼
android 線性布局LinearLayout實(shí)例代碼,需要的朋友可以參考一下2013-05-05