編輯:關於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();
2、Android端webservice的調用package net.zmqc.service;import org.ksoap2.SoapEnvelope;import
前言前幾篇文章中,筆者對View的三大工作流程進行了詳細分析,而這篇文章則詳細講述與三大工作流程密切相關的兩個方法,分別是requestLayout和invalidate
[android] 天氣app布局練習主要練習一下RelativeLayout和LinearLayout
一、前言關於Xposed框架相信大家應該不陌生了,他是Android中Hook技術的一個著名的框架,還有一個框架是CydiaSubstrate,但是這個框架是收費的,而且
本人使用Win8系統時間久了系統垃圾一大堆 ,後來重裝了Win8系統,