Android AlertDialog点击按钮后不消失,不返回

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();
}
原文地址:https://www.cnblogs.com/Monroyhahaha/p/13097999.html