剛開始學android沒多久,可能寫的你們都懂,在這當做一個筆記寫下來。
因為只創造一個按鈕的話,太簡單了,大家總想用它來和人們做交流,所以要設定監聽器。
有二種方法,第一種:設定匿名內部類,這也是最常用的。
首先要為按鈕添加監聽器,
button01.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
textView01.setText("button down");
}
});
還有一種匿名內部類的寫法:
OnClickListener monter01=new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
textView01.setText("imageButton down");
}
};
imageButton01.setOnClickListener(monter01);
這個寫法和內部類有點像,就是定義monter01的時候也用了匿名內部類。
監聽器中new了一個OnclickListener的介面,在函數體內要複寫onClick方法。這是java裡面匿名內部類的寫法,不懂的可以查一下。
匿名內部類雖然寫起來方便,但是它會使整個代碼的結構變得不清晰,如果內部類中要寫的代碼很多,建議別使用這種方法。
第二種:內部類,先建立一個內部類實現OnclickListener介面,介面中同樣要複寫Onclick方法。代碼如下,函數體內部是你自己得代碼。
class MyMonter implements OnClickListener{
@Override
public void onClick(View v){
textView01.setText("imageButton down");
}
}
這裡MyMonter就是一個內部類。要是用這個內部類,還要把它綁定到按鈕上去。這時又有二種方法。
一.先聲明一個MyMonter的對象,然後傳給button。代碼:
OnClickListener monter01=new MyMonter();
imageButton01.setOnClickListener(monter01);
二。直接new一個MyMonter出來。代碼:
imageButton01.setOnClickListener(new MyMonter);
這二種方法都可以。。