点击事件的实现大致分为以下三种:

(1)Activity实现接口方式实现点击事件(经常使用)

(2)自定义方法,使用配置文件android:onclick

(3)使用内部类方式实现

(4)使用匿名内部类实现介绍下几种点击事件的实现方式:

下面我们通过代码来简单演示下几种点击事件的实现方式:(1)Activity 实现接口方式实现点击事件

1/**2*Activity实现接口方式实现点击事件3*Activity实现View.OnClickListener实现onClick(Viewview){}方法4*在Activity的onCreate方法中注册事件5*/6publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{7privateButtonbtn;8protectedvoidonCreate(BundlesavedInstanceState){9super.onCreate(savedInstanceState);10setContentView(R.layout.activity_main);11btn=(Button)findViewById(R.id.button);12btn.setOnClickListener(this);13}14publicvoidonClick(Viewv){15Toast.makeText(MainActivity.this,"实现接口方式",Toast.LENGTH_LONG).show();16}17}

(2)自定义方法,使用layout配置文件android:onclick

1/**2*使用配置文件方式实现点击事件3*在layout中的配置文件中使用onClick属性指定触发事件时的处理方法,4*在Activity中提供一个同名的方法格式为publicvoidXXX(Viewv){....}5*/6publicclassMainActivityextendsAppCompatActivity{7protectedvoidonCreate(BundlesavedInstanceState){8super.onCreate(savedInstanceState);9setContentView(R.layout.activity_main);10}11publicvoidclick(Viewv){12Toast.makeText(MainActivity.this,"自定义",Toast.LENGTH_LONG).show();13}14}

(3)使用内部类方式实现

1/**2*使用内部类方式实现点击事件3*定义一个View.OnClickListener的实现类,实现onClick方法。4*在Activity的onCreate方法中注册事件5*/6publicclassMainActivityextendsAppCompatActivity{7privateButtonbtn;8protectedvoidonCreate(BundlesavedInstanceState){9super.onCreate(savedInstanceState);10setContentView(R.layout.activity_main);11btn=(Button)findViewById(R.id.button2);12btn.setOnClickListener(newListener());13}14classListenerimplementsView.OnClickListener{15@Override16publicvoidonClick(Viewv){17Toast.makeText(MainActivity.this,"内部类",Toast.LENGTH_LONG).show();18}19}20}

(4)使用匿名内部类实现

1/**2*使用匿名内部类方式实现点击事件3*注册按钮单击事件时直接使用匿名内部类4*/5publicclassMainActivityextendsAppCompatActivity{6privateButtonbtn;7protectedvoidonCreate(BundlesavedInstanceState){8super.onCreate(savedInstanceState);9setContentView(R.layout.activity_main);10btn=(Button)findViewById(R.id.button3);11btn.setOnClickListener(newView.OnClickListener(){12@Override13publicvoidonClick(Viewv){14Toast.makeText(MainActivity.this,"匿名内部类",Toast.LENGTH_LONG).show();15}16});17}18}

补充:

不同的组件来实现不同类型的点击事件,例如onItemClickListener,OnCheckedChangeListener,OnRatingBarChangeListener,OnMultiChoiceClickListener,OnDate/timeSetListener,OnScrollListener,OnChildClickListener,setOnTouchListener,OnPageChangeListener,OnMenuItemClickListener,OnEditorActionListener,OnEditorActionListener等等各种点击事件的处理形式。