Android实例-手机安全卫士(十二)-制作输入密码对话框并设置相应点击事件

一、目标。

  自定义输入密码对话框,根据输入的密码与保存着的密码进行判断。

 

二、代码实现。

  1、 采用第十节的方法自定义一个输入密码的对话框。

  2、为按钮设置点击事件,主要介绍“确认”按钮的点击事件。

    ①.通过TextView对象的getText()得到文本并通过toString()转成字符串再通过trim()去除空格,得到String对象的输入密码;

    ②.通过SharedPreferences对象的getString(String key, String defValue)获得保存着的密码,参数String key为键的名称;

    ③.根据输入的密码和获得保存着的密码进行判断,并根据判断后的情况进行相应操作。

输入密码对话框的代码:

 1 protected void showinputPwdDialog() {
 2         AlertDialog.Builder builder = new Builder(HomeActivity.this);
 3         View view = View.inflate(this, R.layout.inputpwddialog, null);
 4         inputpwddialog_et_pwd = (TextView) view
 5                 .findViewById(R.id.inputpwddialog_et_pwd);
 6         inputpwddialog_bt_conf = (Button) view
 7                 .findViewById(R.id.inputpwddialog_bt_conf);
 8         inputpwddialog_bt_cancel = (Button) view
 9                 .findViewById(R.id.inputpwddialog_bt_cancel);
10         // 设置点击“取消”使对话框消失的点击事件
11         inputpwddialog_bt_cancel.setOnClickListener(new OnClickListener() {
12 
13             @Override
14             public void onClick(View v) {
15                 alertDialog.dismiss();
16             }
17         });
18         // 为“确定”按钮设置监听事件
19         inputpwddialog_bt_conf.setOnClickListener(new OnClickListener() {
20 
21             @Override
22             public void onClick(View v) {
23                 // 得到输入框中的密码
24                 String inputpassword = inputpwddialog_et_pwd.getText()
25                         .toString().trim();
26                 // 得到config文件中保存着的密码
27                 String savedpassword = sp.getString("password", "");
28                 //根据两个密码比较情况完成相关操作
29                 if (TextUtils.isEmpty(inputpassword)) {
30                     Toast.makeText(HomeActivity.this, "输入密码为空", 0).show();
31                 } else if (inputpassword.equals(savedpassword)) {                    
32                     alertDialog.dismiss();
33                     Toast.makeText(HomeActivity.this, "密码输入正确,进入主页面", 0).show();
34                 } else {
35                     Toast.makeText(HomeActivity.this, "密码输入错误", 0).show();
36                     inputpwddialog_et_pwd.setText("");
37                     return;
38                 }
39             }
40         });
41         builder.setView(view);
42         alertDialog = builder.show();
43     }
View Code

 

  

posted @ 2015-01-25 18:46  红烧大白鲨  阅读(298)  评论(0编辑  收藏  举报