1. 程式人生 > >Android點選事件的四種寫法

Android點選事件的四種寫法

Android中獲取到按鈕後,我們一般會為其新增點選事件,而android中的點 擊事件共有四種。 **一.通過匿名內部類來實現:**程式碼如下 btn_call.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
    EditText et_number = (EditText) 

findViewById(R.id.et_number); String number = et_number.getText().toString().trim( // 獲取文字框的內容 if ("".equals(number)) { // context 上下文 duration 顯示土司的時長 Toast.makeText(MainActivity.this, “號碼不能為空”, Toast.LENGTH_LONG).show(); return; } Intent intent = new Intent(); // 建立意圖物件 intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse(“tel:” + number)); startActivity(intent); } });

二.通過內部類來實現 其實第二種方法跟第一種方法在本質上沒有任何差別,雖然一個是匿名內 部類另外一個是內部類,但是這只是寫法上的差別,兩者都是通過Button物件 的setOnClickListener()方法來繫結實現的。

三.由類檔案去實現監聽介面: //第一步:Activity實現OnClickListener介面 public class SecondActivity extends Activity implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); //第二步:得到button,並且設定點選監聽為:this Button btnCall = (Button) findViewById(R.id.btn_call); btnCall.setOnClickListener(this); } //第三步:重寫OnClickListener介面的onClick方法 @Override public void onClick(View v) { //根據v的id來區分點選的是哪個按鈕 switch (v.getId()) { case R.id.btn_call: //DoSomething break; }

四.在佈局檔案中註冊事件

  1. 在佈局檔案中新增android:onClick 屬性
  2. 在相應的java程式碼中定義call方法 該方法的形參必須為View物件,且只能有一個。修飾符必須是Public public void btnCall(View view) { Toast.makeText(getApplicationContext(), “點選了我”, Toast.LENGTH_SHORT).show(); }