
这里的问题:当我点击确定按钮,也就是 AlertDialog 里的 PositiveButton 的时候,我们需要判断用户是输入是否符合我们的预期,如果不符合通常提示用户重写输入,且不关闭当前的对话框,但上图中点击按钮后会自动的关闭窗口。
先看原来的这个是怎么写的:
private void openDialog() {
LinearLayout linearLayout = (LinearLayout) LayoutInflater.from(getContext()).inflate(R.layout.change_password_dialog, null);
final EditText originPasswordEt = (EditText) linearLayout.findViewById(R.id.origin_password);
TextView forgetPassword = (TextView) linearLayout.findViewById(R.id.forget_password);
final AlertDialog dialog = new AlertDialog.Builder(getContext())
.setView(linearLayout)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String originPassword = originPasswordEt.getText().toString().trim();
//传到后台
}
})
.create();
dialog.show();
}
虽然图片里和代码的并不是同一个,但问题是一样的
在 setPositiveButton 方法中,即使我们没有调用 dialog.dismiss()
但对话框还是会自动的关闭,就算我们在 onClick 里判断输入的内容,错误的提示也会在窗口关闭后才出现。
在 AlertDialog 提供的 API 中我也没有找到可以设置的地方,如果有还请告知。而我解决这个问题的办法:
final AlertDialog dialog = new AlertDialog.Builder(getActivity())
.setTitle(msg)
.setView(layout)
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.setPositiveButton("submit",null)
.setCancelable(true)
.create();
dialog.show();
//为了避免点击 positive 按钮后直接关闭 dialog,把点击事件拿出来设置
dialog.getButton(AlertDialog.BUTTON_POSITIVE)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Pattern pattern = Pattern.compile("[0-9]*");
Matcher matcher = pattern.matcher(editText.getText());
if (!matcher.matches()){
showToast("请输入正确的 ID");
break;
}
dialog.dismiss();
}
}
});
setPositiveButton("submit",null) 监听事件传入 null
在调用 dialog.show() 后再设置 Button 的点击事件,否则 getButton() 会返回空
这样在我们手动调用 dialog.dismiss() 之前,对话框是不会关闭的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# alertdialog
# 不关闭
# 点击不消失
# Android实现点击AlertDialog上按钮时不关闭对话框的方法
# Android中AlertDialog各种对话框的用法实例详解
# Android使用AlertDialog实现的信息列表单选、多选对话框功能
# Android修改源码解决Alertdialog触摸对话框边缘消失的问题
# Android 自定义AlertDialog对话框样式
# Android对话框AlertDialog.Builder使用方法详解
# ANDROID中自定义对话框AlertDialog使用示例
# android自定义AlertDialog对话框
# Android Alertdialog(实现警告对话框)
# Android开发之AlertDialog实现弹出对话框
# 对话框
# 我也
# 是怎么
# 当我
# 会在
# 请输入
# 而我
# 重写
# 不符合
# 拿出来
# 没有找到
# 后才
# 关闭窗口
# 为了避免
# 还请
# 先看
# 图中
# 解决这个问题
# 大家多多
# 是否符合
相关文章:
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
网站制作公司,橙子建站是合法的吗?
建站与域名管理如何高效结合?
在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
建站之家VIP精选网站模板与SEO优化教程整合指南
做企业网站制作流程,企业网站制作基本流程有哪些?
上海网站制作开发公司,上海买房比较好的网站有哪些?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
建站主机服务器选购指南:轻量应用与VPS配置解析
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
Android使用GridView实现日历的简单功能
建站主机无法访问?如何排查域名与服务器问题
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
天津个人网站制作公司,天津网约车驾驶员从业资格证官网?
制作电商网页,电商供应链怎么做?
如何通过商城免费建站系统源码自定义网站主题?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
如何通过虚拟主机空间快速建站?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
太原网站制作公司有哪些,网约车营运证查询官网?
子杰智能建站系统|零代码开发与AI生成SEO优化指南
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
,南京靠谱的征婚网站?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
宝盒自助建站智能生成技巧:SEO优化与关键词设置指南
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
西安专业网站制作公司有哪些,陕西省建行官方网站?
在线制作视频网站免费,都有哪些好的动漫网站?
定制建站模板如何实现SEO优化与智能系统配置?18字教程
制作网站的基本流程,设计网站的软件是什么?
如何快速搭建二级域名独立网站?
,柠檬视频怎样兑换vip?
网站图片在线制作软件,怎么在图片上做链接?
如何通过VPS搭建网站快速盈利?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
宝塔建站无法访问?如何排查配置与端口问题?
建站之星Pro快速搭建教程:模板选择与功能配置指南
佛山企业网站制作公司有哪些,沟通100网上服务官网?
如何快速查询网站的真实建站时间?
*请认真填写需求信息,我们会在24小时内与您取得联系。