3种写法实现的功能和效果相同。 Java文件 package com.wyw.demo; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class activity extends Activity { /** Called when the activity is first created. */ EditText Ev1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Ev1 = (EditText)findViewById(R.id.EditText01); //第一种方式 Button Btn1 = (Button)findViewById(R.id.Button01);//获取按钮资源 Btn1.setOnClickListener(new Button.OnClickListener(){//创建监听 @Override public void onClick(View v) { String strTmp = "点击Button01"; Ev1.setText(strTmp); } }); //第二种方式 Button Btn2 = (Button) findViewById(R.id.Button02);//获取按钮资源 Btn2.setOnClickListener(listener);//设置监听 } Button.OnClickListener listener = new Button.OnClickListener(){//创建监听对象 @Override public void onClick(View v){ String strTmp="点击Button02"; Ev1.setText(strTmp); } }; //第三种方式(Android1.6版本及以后的版本中提供了) public void Btn3OnClick(View view){ String strTmp="点击Button03"; Ev1.setText(strTmp); } } 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="fill_parent"> <Button android:text="Button01" android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Button> <Button android:text="Button02" android:id="@+id/Button02" android:layout_width="wrap_content" android:layout_height="wrap_content"> </Button> <Button android:text="Button03" android:id="@+id/Button03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="Btn3OnClick"> </Button> <EditText android:text="@+id/EditText01" android:id="@+id/EditText01" android:layout_width="wrap_content" android:layout_height="wrap_content"> </EditText> </LinearLayout>