public void SetDialogIsClose(DialogInterface pDialog, Boolean pisClose) { try { Field _Field = pDialog.getClass().getSuperclass().getDeclaredField("mShowing"); _Field.setAccessible(true); _Field.set(pDialog,pisClose); } catch (NoSuchFieldException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } }
在DIALOG类里面有一个字段,叫做MSHOWING,设置为TRUE,点击按钮后就会自动关闭,否则就不会自动关闭,所以,我们修改这个字段,如上方式,就可以实现需求