Android实例-手机安全卫士(十一)-自定义对话框点击事件处理
一、目标
在弹出的自定义对话框中,当点击“确认”时,保存密码,关闭对话框;当点击“取消”时关闭对话框。同时,如果不输入密码或输入密码错误则弹出相应的提示。
二、代码实现。
1、在主界面代码类(HomeActivity)中定义设置防盗密码对话框中的对应TextView、Button等成员变量,并在显示设置防盗密码对话框方法(showSetPwdDialog)中通过view.findViewById方法找到对应的组件;
2、为“取消”按钮设置取消操作的监听事件并进行处理。通过setOnClickListener(OnClickListener l)方法设置监听事件,参数new OnClickListener出来;
①.在对话框采用show()方法时会返回AlertDialog对象,所以在主代码中新建成员变量(alertDialog),然后接收返回的AlertDialog对象;
②.在OnClickListener中的onClick方法中,通过AlertDialog对象的dismiss()方法使对话框消失。
“取消”按钮设置监听事件的方法:
1 //设置点击“取消”使对话框消失的点击事件 2 setpwddialog_bt_cancel.setOnClickListener(new OnClickListener() { 3 4 @Override 5 public void onClick(View v) { 6 alertDialog.dismiss(); 7 } 8 });
View Code
3、为“确认”按钮设置设置监听事件。通过setOnClickListener(OnClickListener l)方法设置监听事件,参数new OnClickListener出来;
①.取出输入框内的密码。通过TextView对象的getText()得到文本并通过toString()转成字符串再通过trim()去除空格,得到String对象的输入密码;
②.同理取得确认框中密码。
③.判断密码情况。如果都为空(通过TextUtils.isEmpty(string)方法判断)则提示相关信息。如果不为空且两个密码一致(通过equals方法判断),则保存密码,对话框消失,并进入手机防盗页面。
③.1 保存密码。采用SharedPreferences对象,所以需要新建该类型的成员变量,然后在OnCreate方法中通过getSharedPreferences(String name, int mode),设置保存密码文件(String name)所在的路径和类型( int mode),再通过edit()获取一个Editor对象(取名editor)。再通过Editor对象(editor)的putString(String key, String value)方法放入密码(密码采用String类型),最后Editor对象(editor)的commit()方法提交。
③.2 取消对话框。通过AlertDialog对象的dismiss()方法使对话框消失。
③.3 进入手机防盗页面(后续章节介绍)。
“确认”按钮设置监听事件的方法:
1 setpwddialog_bt_conf.setOnClickListener(new OnClickListener() { 2 3 @Override 4 public void onClick(View v) { 5 //得到输入框中的密码 6 String password = setpwddialog_et_pwd.getText().toString().trim(); 7 String password_conf = setpwddialog_et_pwd_conf.getText().toString().trim(); 8 if(TextUtils.isEmpty(password)||TextUtils.isEmpty(password_conf)){ 9 //判断输入的密码非空,则提示相关信息 10 Toast.makeText(HomeActivity.this, "输入有误,请重新输入", 0).show(); 11 }else if(password.equals(password_conf)){ 12 //两个输入的密码相等,则保存密码,对话框消失,并进入手机防盗页面。密码采用SharedPreferences对象以String类型保存 13 sp = getSharedPreferences("safe password", Activity.MODE_PRIVATE); 14 Editor editor = sp.edit(); 15 editor.putString("password", password); 16 editor.commit(); 17 alertDialog.dismiss(); 18 Toast.makeText(HomeActivity.this, "密码设置成功,保存完成", 0).show(); 19 }else{ 20 Toast.makeText(HomeActivity.this, "密码不一致", 0).show(); 21 return; 22 } 23 } 24 });
View Code
转载于:https://www.cnblogs.com/Red-Shark/p/4248285.html
Android实例-手机安全卫士(十一)-自定义对话框点击事件处理相关推荐
- Android实例-手机安全卫士(三十五)-来电号码显示归属地
一.目标 1.显示来电号码的归属地: 2.可在"设置中心"设置"是否启用来电号码归属地显示" 二.代码实现 (以服务的形式监听来电状态) 1.在项目服务包中新增 ...
- Android实例-手机安全卫士(四十一)-选择自定义Toast背景
一.目标 通过对话框选择并保存自定义的Toast背景 二.代码实现 1.复制layout文件夹中的model_setting_item.xml文件,以其为模板进行修改(取名为model_ ...
- Android实例-手机安全卫士(一)-启动界面
一.目标. 1.启动时全屏显示,并获得当前应用版本号: 2.美化字体:颜色和文字阴影: 3.添加一个ProgressBar以增加用户体验. 效果如图 二.编写过程. 1.布局.在布局文件中增加一个Te ...
- Android实例-手机安全卫士(二十四)-绑定SIM卡
一.目标. 使用TelephonyManager对象获取手机相关信息,用SharedPreferences对象保存配置信息. 二.代码实现. 1.为"绑定SIM卡"按钮添加id(取 ...
- Android实例-手机安全卫士(三十六)-根据Service是否开启确定CheckBox选中状态
一.目标 1.根据service是否在后台运行情况来确定CheckBox的选中状态: 2.解决"设置中心"的"开启来电号码显示归属地"功能在退出程序再进入时选中 ...
- 基于Android的手机安全卫士的开发
基于Android的手机安全卫士的开发 开发环境 处理器:Intel® Core™ i5-5200U CPU 2.20GHz 内存:4GB 硬盘:500GB 操作系统:Windows 7中文版,64位 ...
- 基于android平台的手机安全卫士的设计与实现 开题报告,开题报告-基于android的手机安全卫士的设计与开发.doc...
毕业设计开题报告 题 目: 基于Android的手机安全卫士的设计与开发 专 业 计算机科学与技术 学 生 姓 名 班 级 学 号 指 导 教 师 指 导 单 位 电气信息工程学院 专 业 负 责 人 ...
- 【边做项目边学Android】手机安全卫士07-手机防盗之进入限制
上次写到在进入手机但·防盗界面时需要有密码限制,首先第一次进入时会弹出对话框提示用户设置密码:再次进入时会要求用户输入密码:这次来具体实现上述功能. 首次登录,设置密码 首先,我们的密码是保存在Sha ...
- android高德地图自定义地图,(android地图开发) 高德地图自定义对话框
截图效果: 布局文件: android:layout_width="fill_parent" android:layout_height="fill_parent&quo ...
最新文章
- TP5部署服务器问题总结
- windows消息队列。DispatchMessage。 PostMessage
- Java第三大的数,Java通过排序找出数组第三大数字
- 图片序列化和反序列化成图片文件(代码)
- 美汽车销售商使用RFID汽车,加快销售速度
- vue2.0关于添加属性后视图不能更新的问题
- C++ opengl 矩阵的压栈与出栈
- 3-3numpy:向量与矩阵的计算,矩阵的逆
- Deskreen – 将电脑屏幕共享到浏览器中,做第二块屏幕[Win/macOS/Linux]
- 一步一步写算法(之链表排序)
- 深度学习-吴恩达-笔记-2-神经网络的编程基础
- python在哪里写代码-python的代码在哪编写
- Linux命令中的常用符号解释(zz)
- 同余方程(Day 2)
- MFC TeeChart 用法整理二
- 4399ATAPI讲解用例配置篇
- Elk-Metricbeat配置Tomcat的日志分析 (Metricbeat-part3)
- QT设置按钮QPushButton上图片加文字
- 监控和路由器不在同一个ip段_如何把二级路由器当交换机使用
- android reboot重启分析
热门文章
- sql中exists替换in的区别
- Python为何如此优秀?斯坦福教授告诉你!
- 看似无参却有参-----JS中的函数传参
- [USACO4.2]Drainage Ditches
- 全新 Win 9 概念 界面漂亮极了
- ORA-28056:Writing audit records to Windows Even...
- 由铁路订票系统联想到的
- Java社区目前的现状——交易
- Android Handler.removeCallbacksAndMessages(null)的作用
- Sysnoise5.6安装教程