標籤:
一、目標。
自訂輸入密碼對話方塊,根據輸入的密碼與儲存著的密碼進行判斷。
二、代碼實現。
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 @Override14 public void onClick(View v) {15 alertDialog.dismiss();16 }17 });18 // 為“確定”按鈕設定監聽事件19 inputpwddialog_bt_conf.setOnClickListener(new OnClickListener() {20 21 @Override22 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
Android執行個體-手機安全衛士(十二)-製作輸入密碼對話方塊並設定相應點擊事件