pwdDialog = new AlertDialog.Builder(this) .setTitle("密碼修改") .setIcon(null) .setView(content) .setPositiveButton("提交",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface xdialog, int which) { //設置不關閉對對話框 try { Field field = xdialog.getClass().getSuperclass().getDeclaredField("mShowing"); field.setAccessible(true); field.set(xdialog, false); } catch (Exception e) { e.printStackTrace(); } String oldpwd = oldTx.getText().toString(); String newpwd = newTx.getText().toString(); String confpwd = confTx.getText().toString(); if(StringUtil.isBlank(oldpwd)){ Toast.makeText(SysManager.this,"請填寫原密碼!", Toast.LENGTH_SHORT).show(); return; } if(StringUtil.isBlank(newpwd)){ Toast.makeText(SysManager.this,"請填寫新密碼!", Toast.LENGTH_SHORT).show(); return; } if(StringUtil.isBlank(confpwd)){ Toast.makeText(SysManager.this,"請確認新密碼!", Toast.LENGTH_SHORT).show(); return; } if(!newpwd.equals(confpwd)){ Toast.makeText(SysManager.this,"兩次密碼不一致!", Toast.LENGTH_SHORT).show(); return; } postChangePwd(oldpwd, newpwd); //關閉對話框 try { Field field = xdialog.getClass().getSuperclass().getDeclaredField("mShowing"); field.setAccessible(true); field.set(xdialog, true); } catch (Exception e) { e.printStackTrace(); } } }) .setNegativeButton("取消",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface xdialog, int which) { } }).create();