Android中阻止AlertDialog關(guān)閉實(shí)例代碼
Android如何關(guān)閉AlertDialog.Builder對話框呢?AlertDialog.Builder對話框沒有類似finish()或者dismiss()這樣的方法。
但是它的父類AlertDialog有dismiss方法,而且AlertDialog.Builder在.show()的時(shí)候會(huì)得到一個(gè)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上按鈕時(shí)不關(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 fragment實(shí)現(xiàn)按鈕點(diǎn)擊事件的示例講解
下面小編就為大家分享一篇Android fragment實(shí)現(xiàn)按鈕點(diǎn)擊事件的示例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
Android TextView字體顏色設(shè)置方法小結(jié)
這篇文章主要介紹了Android TextView字體顏色設(shè)置方法,結(jié)合實(shí)例形式總結(jié)分析了Android開發(fā)中TextView設(shè)置字體顏色的常用技巧,需要的朋友可以參考下2016-02-02
Android實(shí)現(xiàn)在xml文件中引用自定義View的方法分析
這篇文章主要介紹了Android實(shí)現(xiàn)在xml文件中引用自定義View的方法,結(jié)合實(shí)例形式分析了Android自定義view的實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-06-06
詳解Android中App的啟動(dòng)界面Splash的編寫方法
這篇文章主要介紹了Android中App的啟動(dòng)界面Splash的編寫方法,需要的朋友可以參考下2016-02-02
RecyclerView多層級(jí)數(shù)據(jù)實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了RecyclerView多層級(jí)數(shù)據(jù)實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Android 控件(button)對齊方法實(shí)現(xiàn)詳解
horizontal是讓所有的子元素按水平方向從左到右排列,vertical是讓所有的子元素按豎直方向從上到下排列,下面為大家介紹下控件(button)的對齊方法2013-06-06
Android中RecyclerView布局代替GridView實(shí)現(xiàn)類似支付寶的界面
RecyclerView比GridView來得更加強(qiáng)大,不僅是在分割線的繪制方面,在條目的編輯上也做得同樣出色,下面就來看一下Android中RecyclerView布局代替GridView實(shí)現(xiàn)類似支付寶的界面的實(shí)例2016-06-06

