一.匿名內部類
1.先找到那個控件(初始化)
private Button bt1; //onCreate方法外
bt1 = (Button)findViewById(R.id.button1);
2.設置事件監聽器
bt1.setOnClickListener(new OnClickListener(){
public void onClick(View v){
System.out.println("我的按鈕被點擊了");
}
});
一.外部類監聽點擊事件
1.先找到那個控件(初始化)
private Button bt2; //onCreate方法外
bt2 = (Button)findViewById(R.id.button2);
2.設置事件監聽器
bt2.setOnClickListener(new MyOnClickListener(){
public void onClick(View v){
super.onClick(v); //執行父類的onClick
System.out.println("我的按鈕被點擊了"); //執行子類的onClick
}
});
3.在另一個類中寫父類的onClick方法
class MyOnClickListener implements OnClickListener{
public void onClick(View v){
v.setAlpha(0.5); //設置透明的0.5
}
}
//OnClickListener是一個接口
4.點擊按鈕后會執行服父類的onClick方法和子類的onClick方法,可以讓多個按鈕都執行相同的父類onClick方法
三.通過實現一個接口的方式實現監聽事件
1.先找到那個控件(初始化)
private Button bt3; //onCreate方法外
bt3 = (Button)findViewById(R.id.button3);
2.設置事件監聽器
bt3.setOnClickListener(this);
3.讓MainActivity.java類實現一個接口
public class MainActivity extends Activity implements OnClickListener{
}
4.在onCreate方法外實現這個接口的要求實現的方法
public void onClick(View v){
System.out.println("第三種方法實現");
}
注意:
如果是多個控件都要設置事件監聽器,那么就要用第三種實現一個接口來實現監聽的方法,只需要一個onClick方法,在重寫的onClick方法中再用switch來管理事件的觸發,每個case都對應一個控件的id。