文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Jollen 的 Android 教學,#16: Event Listener的用..

Jollen 的 Android 教學,#16: Event Listener的用..

时间:2009-07-03  来源:AppleDragon

Jollen 的 Android 教學,#16: Event Listener的用法: 以Click Listener為例


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來表示

500)this.width=500;" border="0">

圖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();
    }
}



執行結果
500)this.width=500;" border="0">

圖2: HelloClickListener的執行結果

當使用者觸碰畫面上的按鈕時,便以Toast類別在畫面上顯示「Yes」。

相关阅读 更多 +
排行榜 更多 +
fps僵尸生存安卓版

fps僵尸生存安卓版

飞行射击 下载
fps多人射击

fps多人射击

飞行射击 下载
空中风笛

空中风笛

飞行射击 下载