AlertDialog點擊自動關閉對話框

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();
相關文章
相關標籤/搜索