按鈕在許多windows視窗應用程式中,是最常見的「控制項controls」,然而由按鈕所觸發的事件處理,稱之為Even Handler,只不過在android的世界裡,按鈕事件是由系統的Button.onClickListener所控制。 

小試身手小範例:

Activity中佈局一個Button,並設計這個按鈕的事件處理,當按下時就變更TextView的字。按鈕事件裡面被覆寫的onClick(View v)方法,此方法唯一的參數是View型態的變數v,這個變數所指的是來自父層(parent)中的ContentView,因此可透過「v.*」來改變父層view的狀態或屬性。

Main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:padding="10dip"

    >

    <TextView

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:id="@+id/TextView01"

    android:text="Steve Jobs Famous Quotes"

    android:layout_marginTop="10sp"

    android:textSize="20sp"

    />

    <Button

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_marginTop="10sp"

    android:text=" Click me! "

    android:id="@+id/Button01"

    />

</LinearLayout>

Java

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

publicclass TestExam001 extends Activity { 

    /** Called when the activity is first created. */

    private Button button01;

    private TextView textView01; 

    @Override

    publicvoid onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);       

        button01 = (Button)findViewById(R.id.Button01);

        textView01 = (TextView)findViewById(R.id.TextView01);       

        button01.setOnClickListener(new Button.OnClickListener(){ 

            @Override

            publicvoid onClick(View v) {

                // TODO Auto-generated method stub

                textView01.setText("Stay Hungry, Stay Foolish. ");

            }         

        });     

    }

}

onClick01.jpg  

onClick02.jpg  

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()