2012年2月10日 星期五

[TQC+ Android] 1-10 動態密碼顯示 Visible PassWord




此程式欄位包含輸入帳號與輸入密碼的EditText元件 , 以及設定顯示密碼的CheckBox元件 , 輸入帳號的欄位預設只能輸入數字 , 輸入密碼的欄位預設以密碼方式顯示 , 當顯示密碼的CheckBox被勾選後 , 則將所輸入的密碼直接以明碼顯示出來 , 這題藉由更改EditText的inputType屬性來改變PassWord是否可視 , 以下是程式碼。



package COM.TQC.GDD01;

import android.app.Activity;
import android.os.Bundle;
import android.text.InputType;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;

public class GDD01 extends Activity
{  
  EditText et1 , et2;
  CheckBox cb;
 
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    
    et1 = (EditText) this.findViewById(R.id.mAccount);
    et2 = (EditText) this.findViewById(R.id.mPassword);
    
    cb = (CheckBox) this.findViewById(R.id.mCheck);
    cb.setChecked(false);     
    cb.setOnCheckedChangeListener(OCCListener);
    
  }
  
  public CheckBox.OnCheckedChangeListener OCCListener = new CheckBox.OnCheckedChangeListener()
  {
 @Override
 public void onCheckedChanged(CompoundButton arg0, boolean arg1)
 {
  // TODO Auto-generated method stub
  if(arg0.isChecked()) et2.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
  else et2.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
 }  
  };
}




以下是main.xml

  
  
  







P.S. 題目中所要求的Variable和Method皆會保留 , 也會根據題目所要求的流程去實作 , 縱使題目要求繞遠路....



沒有留言:

張貼留言

Google Analytics