本文实例讲述了Android实现点击AlertDialog上按钮时不关闭对话框的方法。分享给大家供大家参考。具体如下:
开发过程中,有时候会有这样的需求:
点击某个按钮之后显示一个对话框,对话框上面有一个输入框,并且有“确认”和“取消”两个按钮。当用户点击确认按钮时,需要对输入框的内容进行判断。如果内容为空则不关闭对话框,并toast提示。
使用AlertDialog.Builder创建对话框时,可以使用builder.setNegativeButton和builder.setPositiveButton两个方法设置取消按钮和确认按钮的点击事件。然而问题在于,只要用户点击了确认按钮或者取消按钮,系统就会自动将对话框关闭。
解决此问题的方法是:
(1)使用builder.setPositiveButton设置确认按钮的文字,但是不添加监听。即:
builder.setPositiveButton(R.string.main_ok, null);
(2)得到AlertDialog对象:
AlertDialog alertDialog = builder.create(); alertDialog.show();
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String cardNum = cardNumET.getText().toString().trim(); if (cardNum.length() == 0) { Utility.showToast(mActivity, "请输入编号"); return; }//发送 sendProfile(cardNum); alertDialog.dismiss(); } });
问题完美解决。
希望本文所述对大家的Android程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。