android dialog 点击确定不消失,AlertDialog点击按钮不消失的实现方法

我有一个文本输入对话框,当我点击对话框上的“是”按钮,它会验证输入,然后关闭对话框。

但是,如果输入错误,我想停留在同一个对话框中.。

每一次,无论输入是什么,对话框应该自动关闭,当我点击“否”按钮。我怎么才能禁用这个?在网上找了很多,大部分都是修改布局,添加取消确定什么的,这样并不理想。

现在有个好方案,记录下来先:

//重写“确定”(alertdialog.button_positive),截取监听

dialog.getbutton(alertdialog.button_positive).setonclicklistener(new view.onclicklistener() {

@override

public void onclick(view view) {

toast.maketext(mainactivity.this,"getbutton(alertdialog.button_positive)", toast.length_long).show();

//这里可以控制是否让对话框消失

dialog.dismiss();

}

});

完整java代码如下:

package com.github.azhansy.dialognotdismissdemo;

import android.content.dialoginterface;

import android.support.v7.app.alertdialog;

import android.support.v7.app.appcompatactivity;

import android.os.bundle;

import android.view.view;

import android.widget.edittext;

import android.widget.imageview;

import android.widget.toast;

public class mainactivity extends appcompatactivity {

@override

protected void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_main);

}

//这里随便在主布局加个监听事件即可

public void onclicktext(view vv){

alertdialog.builder builder = new alertdialog.builder(this);

builder.settitle("对话框标题");

view view = view.inflate(this, r.layout.dialog_input_link, null);

final edittext linkedt = (edittext) view.findviewbyid(r.id.edt_input_link);

imageview cleariv = (imageview) view.findviewbyid(r.id.iv_clear_link);

builder.setview(view);

cleariv.setonclicklistener(new view.onclicklistener() {

@override

public void onclick(view view) {

linkedt.gettext().clear();

}

});

builder.setpositivebutton(android.r.string.ok, new dialoginterface.onclicklistener() {

@override

public void onclick(dialoginterface dialoginterface, int i) {

toast.maketext(mainactivity.this,"确定", toast.length_long).show();

}

});

builder.setnegativebutton(android.r.string.cancel, new dialoginterface.onclicklistener() {

@override

public void onclick(dialoginterface dialoginterface, int i) {

toast.maketext(mainactivity.this,"取消", toast.length_long).show();

}

});

final alertdialog dialog = builder.create();

dialog.setcanceledontouchoutside(false);

dialog.show();

//重写“确定”,截取监听

dialog.getbutton(alertdialog.button_positive).setonclicklistener(new view.onclicklistener() {

@override

public void onclick(view view) {

toast.maketext(mainactivity.this,"getbutton(alertdialog.button_positive)", toast.length_long).show();

//这里可以控制是否让对话框消失

dialog.dismiss();

}

});

}

}

对话框布局:

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:paddingleft="10dp"

android:paddingright="10dp">

android:layout_width="match_parent"

android:layout_height="wrap_content">

android:id="@+id/edt_input_link"

android:layout_width="match_parent"

android:layout_height="48dp"

android:gravity="center_vertical"

android:maxlines="1"

android:paddingright="30dp"

android:textsize="16sp"

tools:text="fhafafa"/>

android:id="@+id/iv_clear_link"

android:layout_width="30dp"

android:layout_height="30dp"

android:layout_alignparentright="true"

android:layout_centerinparent="true"

android:scaletype="center"

android:src="@drawable/ic_clear"/>

以上所述是小编给大家介绍的alertdialog点击按钮不消失的实现方法,希望对大家有所帮助

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算平面坐标某点(x,y)与原点(0,0)的角度

以前某个项目有一个功能需要手指滑动一个饼图。当时搬高中数学公式,并大量查询网络,花了两个小时把那个功能的数学算法搞定。 今天在看android下一段源码时,突然发现一个数学函数:Math.atan2 ,一下子羞愧难当&#xff…

[html] 跨域通信有哪些方式?

[html] 跨域通信有哪些方式? JSONPWebSocketCORSHashpostMessage个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

《CLR via C#》 第三版的主要内容

Jeffrey Richter 在他的博客中叙述了 CLR via C#第三版的主要内容,和改动。原本如下:(必要的地方加了翻译) Last week I submitted the reaming chapters for my new book. It is now being edited and should be available right…

【摘录】MTK按键扫描原理及相关代码

一.MTK按键扫描原理: 不同的MTK平台内部提供的按键数目各有不同,但是扫描原理大致一样,这里以MTK6253为例来讲解记录。 MTK提供6*7共42个矩阵键盘,加上Power键总共43个按键,其中BB芯片引出6根行线ROW&#…

导致Android手机崩溃的壁纸,使用错误的壁纸会使你的Android手机崩溃

原标题:使用错误的壁纸会使你的Android手机崩溃现代智能手机是非常复杂的,能够显示大量的内容,并能浏览一系列复杂的色域、文件格式和媒体类型。然而,其中一些功能会以意想不到的方式影响到正常使用。Twitter用户Ice Universe发现…

[html] html哪个标签属性可以通过预解析DNS?

[html] html哪个标签属性可以通过预解析DNS&#xff1f; 1.<meta http-equiv"x-dns-prefetch-control" content"on"> 2.<link rel"dns-prefetch" href"//www.spreadfirefox.com">个人简介 我是歌谣&#xff0c;欢迎和大…

ZT 类模板Stack的实现 by vector

*//*第3章 类模板与函数相似&#xff0c;类也可以被一种或多种类型参数化。容器类就是一个具有这种特性的典型例子&#xff0c;它通常被用于管理某种特定类型的元素。只要使用类模板&#xff0c;你就可以实现容器类&#xff0c;而不需要确定容器中元素的类型。在这一章中&#…

android 学习链接大集合

http://m.cnblogs.com/50734/1581089.html?full1 Understanding User Interface in Android - Part 3: More Views&#xff08;译&#xff09; http://android.yaohuiji.com/ 这个大家应该都知道吧&#xff01;&#xff08;android学习指南&#xff09;转载于:https://www.cnb…

android app逆向分析,如何开始对Android应用的逆向分析?

本文是我的关于如何开始Android逆向系列文章的第一部分。在文末提供了一个文档&#xff0c;你可以根据该文档说明部署同我一样的实验环境。在了解android应用的逆向之前&#xff0c;你必须对android平台及其架构和android应用程序的构建块(组件)已有了一个较好的理解。如果你并…

Swipper.js实现轮播功能

我是歌谣 放弃很难 但是坚持一定很酷 微信公众号关注小歌谣 今天我们来说一下工作中的一个小需求 就是给我们的页面去实现一个轮播的功能 最近需要实现一个小的需求 就是如何类似于如何把一个图片变成一个轮播效果 于是乎就开始考虑 用一款插件去实现这个功能 所以选择了一…

使用 function 构造函数创建组件和使用 class 关键字创建组件

使用 function 构造函数创建组件&#xff1a; 如果想要把组件放到页面中&#xff0c;可以把构造函数的名称&#xff0c;当作 组件的名称&#xff0c;以 HTML标签形式引入页面中&#xff0c; 因为在React中&#xff0c;构造函数就是一个最基本的组件。 注意&#xff1a; 组件的首…

Spring.NET 1.3.1 正式版已发布

Spring.NET 1.3.1 下载地址为http://www.springframework.net/download.html 正如已经提到的其他地方&#xff0c;这将是Spring.NET的最终版本提供支持的。NET1.x中Spring.NET的未来版本将只针对。NET 2.0和更高版本&#xff0c;让Spring.NET更积极地利用近期功能的更多信息在。…

天地图 android sdk,我想使用天地图sdk,第三方插件的教程走通了,现在卡住了

用Android Studio按照教程&#xff0c;增加第三方插件的例子走通了&#xff0c;运行后的app可以alert出来了&#xff0c;方法可以用。但是现在&#xff0c;怎么把天地图弄出来啊。本人是前端&#xff0c;不会安卓。天地图官网的使用步骤&#xff1a;1) 将API文件tiandituapi.ja…

[html] 如何优化大数据列表(10万+)的性能?说说你的方案

[html] 如何优化大数据列表&#xff08;10万&#xff09;的性能&#xff1f;说说你的方案 定时器批量绘制, 过滤&#xff0c;查询使用serviceWorker ?个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论…

Java容器Stack

Stack继承关系 Collection 接口AbstractCollectionAbstractListVectorStack 方法 public E push 元素在栈顶&#xff0c;最后一个元素 public synchronized E pop() 删除并返回栈顶元素&#xff08;最后一个&#xff09; public synchronized E peek()返回栈顶元素&#xff08…

android wifi连接手机,Android手机无线连接利器-AirDroid

AirDroid是一款可以在电脑的浏览器上对手机进行管理的应用&#xff0c;需要wifi网络支持&#xff0c;手机安装启用服务后&#xff0c;在pc的浏览器即可登陆进行管理和操作&#xff0c;可以管理联系人、短信、文件、应用、照片、铃声、音乐、通话记录&#xff0c;还可以快速搜索…

[html] 如何使用纯HTML实现跑马灯的效果?

[html] 如何使用纯HTML实现跑马灯的效果&#xff1f; HTML marquee 元素用来插入一段滚动的文字。 但是该元素已废弃。个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面…

字符串处理

Title#region GetSubString /// <summary> /// 取得指定开始和结束字符串中间的数据串 /// </summary> /// <param name"content"></param> /// <param name"startStr"></param> /// <param name"endSt…

HTTP管线化(HTTP pipelining)

默认情况下http协议中每个传输层连接只能承载一个http请求和响应&#xff0c;然后结束。 HTTP是一个简单的协议。客户进程建立一条同服务器进程的 T C P连接&#xff0c;然后发出请求并读取服务器进程的响应。服务器进程关闭连接表示本次响应结束。服务器进程返回的文件通常…

[html] 如果列表元素li的兄弟元素为div,会产生什么情况?

[html] 如果列表元素li的兄弟元素为div&#xff0c;会产生什么情况&#xff1f; 单纯的对html来说主要是破坏了语义结构吧, css方面来说不好统一控制样式&#xff0c;div默认也没有list-style个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xf…