Android編程之監(jiān)聽(tīng)器的實(shí)現(xiàn)方法
本文實(shí)例講述了Android編程之監(jiān)聽(tīng)器的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
1、通過(guò)內(nèi)部類實(shí)現(xiàn)監(jiān)聽(tīng)器,將事件監(jiān)聽(tīng)器定義成當(dāng)前的內(nèi)部類,使用內(nèi)部類可以在當(dāng)前類中復(fù)用監(jiān)聽(tīng)器。
第一步: 寫監(jiān)聽(tīng)器類,覆蓋對(duì)應(yīng)的抽象方法
第二步:創(chuàng)建監(jiān)聽(tīng)器對(duì)象
第三步:注冊(cè)
以一個(gè)button為例,代碼如下:
package cn.csdn.android.tesxt; import android.app.Activity; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class TestListenerActivity extends Activity { Button btn; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViews(); MyOnClickListener listener = new MyOnClickListener(); btn.setOnClickListener(listener); } private void findViews() { btn = (Button) this.findViewById(R.id.button1); } class MyOnClickListener implements OnClickListener { @Override public void onClick(View v) { Toast.makeText(TestListenerActivity.this, "xxx", Toast.LENGTH_SHORT) .show(); } } }
2、匿名內(nèi)部類是最廣泛的事件監(jiān)聽(tīng)形式,因?yàn)榇蟛糠质录O(jiān)聽(tīng)器只是臨時(shí)使用一次,所以使用匿名類更加合適,代碼如下:
package cn.csdn.android.tesxt; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class TestListenerActivity extends Activity implements OnClickListener { Button btn; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViews(); btn.setOnClickListener(this); } private void findViews() { btn = (Button) this.findViewById(R.id.button1); } @Override public void onClick(View v) { Toast.makeText(TestListenerActivity.this, "xxx", Toast.LENGTH_SHORT) .show(); } }
3、Activity本身作為監(jiān)聽(tīng)器,可以直接在Activity中定義事件處理器方法,形式雖然很簡(jiǎn)潔,但是容易造成程序混亂
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android編程自定義View時(shí)添加自己的監(jiān)聽(tīng)器示例
- Android實(shí)現(xiàn)檢測(cè)手機(jī)搖晃的監(jiān)聽(tīng)器
- Android中ScrollView實(shí)現(xiàn)滑動(dòng)距離監(jiān)聽(tīng)器的方法
- Android編程之監(jiān)聽(tīng)器用法實(shí)例分析
- Android實(shí)現(xiàn)靜態(tài)廣播監(jiān)聽(tīng)器的方法
- android Animation監(jiān)聽(tīng)器AnimationListener的使用方法)
- Android控件系列之Button以及Android監(jiān)聽(tīng)器使用介紹
- android監(jiān)聽(tīng)器實(shí)例代碼
相關(guān)文章
Android實(shí)現(xiàn)指定時(shí)間定時(shí)觸發(fā)方法
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)指定時(shí)間定時(shí)觸發(fā)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05Android開(kāi)發(fā)之DOM解析xml文件的方法
這篇文章主要介紹了Android開(kāi)發(fā)之DOM解析xml文件的方法,涉及Android中DOM工廠對(duì)象的創(chuàng)建,文檔的獲取及節(jié)點(diǎn)的遍歷技巧,需要的朋友可以參考下2015-12-12Android 保存Fragment 切換狀態(tài)實(shí)例代碼
本文主要介紹Android Fragment的應(yīng)用,這里給大家用實(shí)例代碼詳細(xì)介紹了Android Fragment 切換狀態(tài),有需要的小伙伴可以參考下2016-07-07Android加載圖片內(nèi)存溢出問(wèn)題解決方法
這篇文章主要介紹了Android加載圖片內(nèi)存溢出問(wèn)題解決方法,本文講解使用BitmapFactory.Options解決內(nèi)存溢出問(wèn)題,需要的朋友可以參考下2015-06-06關(guān)于Android bitmap你不知道的一些事
這篇文章主要為大家詳細(xì)介紹了關(guān)于Android bitmap你不知道的一些事,使用bitmap需要注意的一些細(xì)節(jié),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11Android實(shí)現(xiàn)授權(quán)訪問(wèn)網(wǎng)頁(yè)的方法
這篇文章主要介紹了Android實(shí)現(xiàn)授權(quán)訪問(wèn)網(wǎng)頁(yè)的方法,需要的朋友可以參考下2014-07-07AndroidQ分區(qū)存儲(chǔ)權(quán)限變更及適配的實(shí)現(xiàn)
這篇文章主要介紹了AndroidQ分區(qū)存儲(chǔ)權(quán)限變更及適配的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Android矢量圖之VectorDrawable類自由填充色彩
這篇文章主要介紹了Android矢量圖之VectorDrawable類自由填充色彩的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-05-05Android?autojs隨時(shí)翻譯剪貼板單詞實(shí)現(xiàn)示例
這篇文章主要為大家介紹了Android?autojs隨時(shí)翻譯剪貼板單詞,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09