按鈕在許多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"?>
<LinearLayout xmlns: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. ");
}
});
}
}
留言列表