本文實例講述了Android編程之監聽器的實現方法。分享給大家供大家參考,具體如下:
1、通過內部類實現監聽器,將事件監聽器定義成當前的內部類,使用內部類可以在當前類中復用監聽器。
第一步: 寫監聽器類,覆蓋對應的抽象方法
第二步:創建監聽器對象
第三步:注冊
以一個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 {@Overridepublic void onClick(View v) {Toast.makeText(TestListenerActivity.this, "xxx", Toast.LENGTH_SHORT).show();}}}2、匿名內部類是最廣泛的事件監聽形式,因為大部分事件監聽器只是臨時使用一次,所以使用匿名類更加合適,代碼如下:
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);}@Overridepublic void onClick(View v) {Toast.makeText(TestListenerActivity.this, "xxx", Toast.LENGTH_SHORT).show();}}3、Activity本身作為監聽器,可以直接在Activity中定義事件處理器方法,形式雖然很簡潔,但是容易造成程序混亂
希望本文所述對大家Android程序設計有所幫助。
新聞熱點
疑難解答
圖片精選