標籤:
今天主要學習了監聽事件的是實現方法,就是說,做了某些動作後,怎麼監聽這個動作並作出相應反應。
方法主要有三種:
1.匿名內部類的方法
2.獨立類的方法
3.類似實現介面的方法
以下分別分析:
1.匿名內部類的方法
就是使用innerClass的方式建立監聽事件
步驟如下:
1)建立一個button,在xml中拖入一個button即可
2)在來源程式中對button進行初始化
就是,先建立一個button btn,然後使用findViewById找到你之前的那個button進行關聯,此時請注意findViewById傳回值為View,所以此處我們將他轉換為Button(Button為View子類)
3)通過setOnClickListener設定監聽
2.通過獨立類的方式
1)建立一個button,在xml中拖入一個button即可
2)在來源程式中對button進行初始化
3)建立一個外部類,implement OnClickListener的介面
這裡我對這個類做的統一操作是將字型顏色轉化成白色
4)像實現匿名類那樣實現獨立類
這裡需要注意,在OnClick方法中有一句Super.onClick(arg0);
這一句的意思是調用父類的onClick方法,而這裡的父類就是MyOnClickListener,所以在執行過程中,會先調用父類的方法將文本顏色變為白色,然後改編常值內容
所以這裡,我們就可以發現獨立類的優勢,他可以將共同的操作寫入父類,特殊的操作在調用時編寫,減少代碼量
3.介面方式
1)建立一個button,在xml中拖入一個button即可
2)在來源程式中對button進行初始化
3)對主類implements OnClickListener
此時會自動產生一個用以實現介面的方法onClick
4)類似,使用this指標來調用這個方法
btn.setOnClickListener(this);
相比之下,這種方法最簡單,但是當你要實現的介面很多時,主類名字太長,太醜
以上
安卓開發學習日記 DAY5——監聽事件onClick的實現方法