[转]Jollen 的 Android 教學,#16: Event Listener的用法: 以Click Listener為例
2009-10-23 20:14
260 查看
原文地址: http://www.jollen.org/blog/2009/06/jollen-android-programming-16.html
Event Listener的用法: 以Click Listener為例
以Android所提供的View.OnClickListener來說明程式實作方法。一個較為良好的實作方法是在我們的Acitivty類別裡實作View.OnClickListener介面,即:
每一個View都可以註冊一個event listener,當Android框架收到「click」事件後,便回呼event listener的callback method。以Button類別(按鈕元件)為例,當我們想要處理使用者觸控按鈕的事件時,就要呼叫Button類別的setOnClickListener()方法來註冊click listener。上述的實作方方法是,直接在我們的Activity類別HelloClickListener裡實作View.OnClickListener,因此上述Button類別的click listener為「this」。
上述的實作觀念,可用圖1來表示。
![](http://www.jollen.org/blog/2009/06/18/HelloClickListener.png)
圖1: HelloClickListener類別實作View.OnClickListener介面
註冊click listener的程式碼如下:
在onCreate()裡先找到Button元件,它的click listener為this為,接著在我們的Activity類別裡實作onClick()。onClick()方法的程式碼如下,我們以Toast類別來回應訊息給使用者:
完整程式碼: HelloClickListener.java
執行結果
![](http://www.jollen.org/blog/2009/06/18/clicklistener-1.png)
圖2: HelloClickListener的執行結果
當使用者觸碰畫面上的按鈕時,便以Toast類別在畫面上顯示「Yes」。
--jollen
Event Listener的用法: 以Click Listener為例
以Android所提供的View.OnClickListener來說明程式實作方法。一個較為良好的實作方法是在我們的Acitivty類別裡實作View.OnClickListener介面,即:
import android.view.View; public class HelloClickListener extends Activity implements View.OnClickListener { ... }
每一個View都可以註冊一個event listener,當Android框架收到「click」事件後,便回呼event listener的callback method。以Button類別(按鈕元件)為例,當我們想要處理使用者觸控按鈕的事件時,就要呼叫Button類別的setOnClickListener()方法來註冊click listener。上述的實作方方法是,直接在我們的Activity類別HelloClickListener裡實作View.OnClickListener,因此上述Button類別的click listener為「this」。
上述的實作觀念,可用圖1來表示。
![](http://www.jollen.org/blog/2009/06/18/HelloClickListener.png)
圖1: HelloClickListener類別實作View.OnClickListener介面
註冊click listener的程式碼如下:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button)findViewById(R.id.btn); button.setOnClickListener(this); }
在onCreate()裡先找到Button元件,它的click listener為this為,接著在我們的Activity類別裡實作onClick()。onClick()方法的程式碼如下,我們以Toast類別來回應訊息給使用者:
public void onClick(View v) { Toast.makeText( this, "Yes.", Toast.LENGTH_LONG).show(); }
完整程式碼: HelloClickListener.java
package com.moko.helloclicklistener;
import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.Toast;
import android.view.View;
public class HelloClickListener extends Activity implements View.OnClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button = (Button)findViewById(R.id.btn); button.setOnClickListener(this); }
public void onClick(View v) { Toast.makeText( this, "Yes.", Toast.LENGTH_LONG).show(); }
}
執行結果
![](http://www.jollen.org/blog/2009/06/18/clicklistener-1.png)
圖2: HelloClickListener的執行結果
當使用者觸碰畫面上的按鈕時,便以Toast類別在畫面上顯示「Yes」。
--jollen
相关文章推荐
- Android sendevent/getevent 用法
- addEventListener()与removeEventListener() 用法详解
- Android sendevent/getevent 用法
- Android的事件分发onInterceptTouchEvent与onTouchEvent、OnClickListener、OnLongClick
- Android中onTouchListener、onTouchEvent、onClickListener有什么区别
- Android sendevent/getevent 用法
- [转]Jollen 的 Android 教學,#26: 強大的Intent機制
- android UEventObserver的用法
- Android C++ 实现SensorEventListener
- Android之EventBus3.0的简单用法
- Android UI Event Listener
- 举例说明Android中Button中的OnClickListener更简便的用法
- Android sendevent/getevent 用法
- 【Android】[转] Android屏幕旋转使用OrientationEventListener的监听
- Android OnGestureListener用法 识别用户手势 上下左右滑动
- Android sendevent/getevent 用法
- Android学习篇章54-方向传感器-SensorEventListener
- (16)Android布局方式里面LayoutParams的用法
- [转]Jollen 的 Android 教學,#4: 使用 XML 安排 UI
- [转]Jollen 的 Android 教學,#10: 如何檢查 Service 是否已啟動?使用 Android 除錯器