2012年4月18日 星期三

android範列程式-密碼認證清除按鈕

學習重點:
(1)利用button清除字串的方式
(2)
Toast toast=Toast.makeText(ATMToast1Activity.this, "提示文字內容", Toast.LENGTH_LONG);
效果等同
Toast toast=Toast.makeText(getApplicationContext(), "提示文字內容", Toast.LENGTH_LONG);
利用getApplicationContext()
可以自動抓取該java程式名稱,而不用自動寫入該程式名稱


程式範列如下:
package ATMToast1.com;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class ATMToast1Activity extends Activity {
    //建立全域變數
 private EditText edtATM;
    private Button btnN1, btnN2, btnN3, btnBack;
    private Button btnN4, btnN5, btnN6, btnOK;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //取得介面元件
        edtATM=(EditText)findViewById(R.id.edtATM);
        btnN1=(Button)findViewById(R.id.btnN1);
        btnN2=(Button)findViewById(R.id.btnN2);
        btnN3=(Button)findViewById(R.id.btnN3);
        btnN4=(Button)findViewById(R.id.btnN4);
        btnN5=(Button)findViewById(R.id.btnN5);
        btnN6=(Button)findViewById(R.id.btnN6);
        btnBack=(Button)findViewById(R.id.btnBack);
        btnOK=(Button)findViewById(R.id.btnOK);
        //設定共用事件
        btnN1.setOnClickListener(listener);
        btnN2.setOnClickListener(listener);
        btnN3.setOnClickListener(listener);
        btnN4.setOnClickListener(listener);
        btnN5.setOnClickListener(listener);
        btnN6.setOnClickListener(listener);
        btnBack.setOnClickListener(listener);
        btnOK.setOnClickListener(listener);
    }

    private Button.OnClickListener listener=new Button.OnClickListener() {
        @Override
        public void onClick(View v) {
          switch(v.getId())
          {
            case R.id.btnN1:  //按 1 鈕
             displayATM("1");
             break;
            case R.id.btnN2:  //按 2 鈕
             displayATM("2");
               break;
            case R.id.btnN3:  //按 3 鈕
             displayATM("3");
                break;
            case R.id.btnN4:  //按 4 鈕
             displayATM("4");
             break;
            case R.id.btnN5:  //按 5 鈕
             displayATM("5");
               break;
            case R.id.btnN6:  //按 6 鈕
             displayATM("6");
               break;
            case R.id.btnBack:  //按 清除 鈕
             String str=edtATM.getText().toString();
             if(str.length()>0) {
              str=str.substring(0, str.length()-1);
              edtATM.setText(str);
             }
             break;
            case R.id.btnOK:  //按 確定 鈕
             str=edtATM.getText().toString();
             if(str.equals("123456")) {
              Toast toast=Toast.makeText(ATMToast1Activity.this, "密碼正確,歡迎使用提款功能!", Toast.LENGTH_LONG);
              toast.show();
             } else {
              Toast toast=Toast.makeText(getApplicationContext(), "密碼錯誤,請重新輸入。", Toast.LENGTH_LONG);
              toast.show();
              edtATM.setText("");
             }
               break;
           }
        }
  };
  
  private void displayATM(String s) {
   String str=edtATM.getText().toString();
   edtATM.setText(str + s);
  }
}

2 則留言:

  1. 作者已經移除這則留言。

    回覆刪除
  2. 請問若想設定一個clear鍵 是要讓出現的數字全部清除程式該如何修改?

    回覆刪除