码迷,mamicode.com
首页 > 移动开发 > 详细

Android实例-手机安全卫士(十一)-自定义对话框点击事件处理

时间:2015-01-25 17:58:11      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

一、目标

   在弹出的自定义对话框中,当点击“确认”时,保存密码,关闭对话框;当点击“取消”时关闭对话框。同时,如果不输入密码或输入密码错误则弹出相应的提示。

 技术分享

二、代码实现。

  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对象,所以需要新建该类型的成员变量,然后通过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

 

Android实例-手机安全卫士(十一)-自定义对话框点击事件处理

标签:

原文地址:http://www.cnblogs.com/Red-Shark/p/4248285.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!