android 對話框是移動開發比較常用的控件了
眾所周知,Alertdialog可以設置屬性
builder.setCancelable(true)
來設置點擊空白處是否消失,但是現在需要設置點擊按鈕(積極按鈕或消極按鈕)經過判斷后確定對話框是否消失。
可以通過getbutton方法,下面附一個實例,先上個圖
點擊辦理之后
相關代碼:
final View view = View.inflate(this, R.layout.qznsp_alter, null);
final EditText editText = view.findViewById(R.id.handle_qzn_alter);
final Spinner spinner = view.findViewById(R.id.handle_qzn_altersp);
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(view);
builder.setNegativeButton("取消", null);
builder.setCancelable(false);
builder.setPositiveButton("辦理", null);
builder.setCancelable()
final AlertDialog dialog = builder.create();
dialog.show();
dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(TextUtils.isEmpty(editText.getText().toString())){
//對話框不能消失,edittext獲取焦點並顯示警告信息
editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
editText.requestFocus();
editText.setError("處理意見不能為空");
}else{
//對話框消失
dialog.dismiss();
}