編輯:關於Android編程
Android如何關閉AlertDialog.Builder對話框呢?AlertDialog.Builder對話框沒有類似finish()或者dismiss()這樣的方法。
但是它的父類AlertDialog有dismiss方法,而且AlertDialog.Builder在.show()的時候會得到一個AlertDialog對象,我們就可以用dismiss方法將該Builder關閉。
AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog dialog = builder.show(); dialog.dismiss();
關於Android阻止AlertDialog關閉具體代碼如下所示:
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);//設置該屬性可以訪問
} catch (Exception ex) {
}
String inputValue = String.valueOf(mEdit.getText());
if (inputValue == null || "".equals(inputValue)) {
try {
//設置dialog不可關閉
field.set(dialog, false);
dialog.dismiss();
} catch (Exception ex) {
}
} else {
//
//做自己的事
//
try {
//關閉
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);//設置該屬性可以訪問
} catch (Exception ex) {
}
try {
field.set(dialog, true);
dialog.dismiss();
} catch (Exception ex) {
}
}
});
builder.create();
Android個人學習筆記-使用myeclipse快速創建webservice並在Android中調用(續)
2、Android端webservice的調用package net.zmqc.service;import org.ksoap2.SoapEnvelope;import
Android View 深度分析requestLayout、invalidate與postInvalidate
前言前幾篇文章中,筆者對View的三大工作流程進行了詳細分析,而這篇文章則詳細講述與三大工作流程密切相關的兩個方法,分別是requestLayout和invalidate
[android] 天氣app布局練習
[android] 天氣app布局練習主要練習一下RelativeLayout和LinearLayout
Android中利用Xposed框架實現攔截系統方法
一、前言關於Xposed框架相信大家應該不陌生了,他是Android中Hook技術的一個著名的框架,還有一個框架是CydiaSubstrate,但是這個框架是收費的,而且
Android解決Failed to initialize Monitor Thread: Unable to establish loopback connection錯誤
本人使用Win8系統時間久了系統垃圾一大堆 ,後來重裝了Win8系統,