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();
}