1. 程式人生 > >Android UI事件處理——實現事件監聽介面的4種方法

Android UI事件處理——實現事件監聽介面的4種方法

前段時間看到一個同學的android課程有這樣一個作業要求:....... 非內部類實現onClickListener監聽介面的方式監聽按鈕單擊事件 .......

感覺蠻奇怪,一般對於UI事件的處理,都習慣性的採用內部類或者匿名內部類來實現。查看了一下Android的文件,對於UI Events, 很多其他文件中都有詳細的說明,那麼對於事件監聽器的介面的實現方法呢?

其實這涉及一些Java基礎知識,主要是內部類,還有一些概念,如:程式框架(application framework),控制框架(control framework),以及設計模式中的模版方法,大家可以上網查詢相關資料,這裡就不去copy過來了。

對於事件監聽器的實現,我總結有以下四種方法:

自身類實現事件監聽器介面 對於同一下XXXListener callback只能有一個實現
內部類實現事件監聽器 常用,可以方便的訪問其外圍類的任意成員,一個內部類在此也可以代表解決問題的一個操作
匿名內部類實現事件監聽器 常用,如上
外部類實現事件監聽器介面 罕見,棘手的問題,如果需要訪問Activity類的成員,需要在構造方法中傳入Activity物件