按钮在许多Windows窗口应用程序中,是最常见到的控件(Controls),此控件也常在网页设计里出现,诸如网页注册窗体,应用程序里的“确定”等。
而按钮所触发的事件处理,我们称为Event Handler,只不过在Android当中,按钮事件是由系统的Button.OnClickListener所控制,熟悉Java程序设计的读者对OnXxxListener应该不陌生。以下的范例将示范如何在Activity里布局一个按钮(Button),并设计这个按钮的事件处理函数,当单击按钮的同时,更改TextView里的文字。
运行结果:
按钮前:
按钮之后:
步骤:
一开始,必须现在Layout当中布局一个Button及一个TextView对象,找不到这两个组件的话,系统会无法运行下去,在开发阶段会造成编译错误。
其次在主程序中,请留意onCreate里创建的Button.OnClickListener事件,这也是触发按钮时会运行的程序段落,但由于Eclipse无法自动加载默认的传递参数(new Button.OnClickListener()),所以,在编写程序描述时,必须自行键入新创建的按钮所需的OnClickListener()事件
step1:新建Android项目EX03_07_ButtonDemo
step2:res->layout->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="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/myTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello"/>
<Button
android:id="@+id/myButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Press me"/>
</LinearLayout>
step3:EX03_07_ButtonDemo
package com.example.ex03_07_buttondemo;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class EX03_07_ButtonDemo extends Activity {
private Button mButton;
private TextView mTextView;
/**Called when the activity is first created*/
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mian);
mButton = (Button)findViewById(R.id.myButton);
mTextView = (TextView)findViewById(R.id.myTextView);
mButton.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
mTextView.setText("欢迎来到我的blog");
}
});
}
}