安卓四种点击事件类型总结

来源:互联网 发布:sql loader 编辑:程序博客网 时间:2024/05/20 03:44

前言:

关于安卓四种点击事件可分为匿名内部监听事件、自定义单击事件监听、实现OnClickListener接口,重写onClick(View v)方法、在XML文件中“显示指定按钮的onClick属性,这样点击按钮时会利用反射的方式调用对应Activity中的click()方法。”

安卓四大点击事件简介:

首先定义XML文件如下:文本内容定义在values中strings中。
然后定义按钮和点击事件,并打印日志信息输出,便于观察正错。
<?xml version="1.0" encoding="utf-8"?><resources>    <string name="app_name">listener</string>    <string name="hello_world">Hello world!</string>    <string name="action_settings">Settings</string>    <string name="button1">匿名内部监听事件</string>    <string name="button2">独立类监听事件</string>    <string name="button3">接口实现监听事件</string>    <string name="button4">按钮实现监听事件</string></resources>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <Button        android:id="@+id/button1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/button1" />    <Button        android:id="@+id/button2"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/button2" />    <Button        android:id="@+id/button3"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/button3" />    <Button        android:id="@+id/button4"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:onClick="click"        android:text="@string/button4" /></LinearLayout>
package com.example.listener;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity implements OnClickListener{private Button button1;private Button button2;private Button button3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//匿名内部类监听事件button1=(Button) findViewById(R.id.button1);button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Log.i("tag","匿名内部类监听事件");}});//自定义单击事件监听button2=(Button) findViewById(R.id.button2);button2.setOnClickListener(new myOnClicklistener(){public void onClick(View v) {super.onClick(v);Log.i("tag","我是按钮的一个事件");}});button3=(Button) findViewById(R.id.button3);button3.setOnClickListener(this);}class myOnClicklistener implements OnClickListener{@Overridepublic void onClick(View v) {Log.i("tag","都可以执行我,我是公用的");}}//实现OnClickListener接口,重写onClick(View v)方法@Overridepublic void onClick(View v) {Log.i("tag", "我是接口实现事件");}//在activity_main.xml中定义onClick属性,重写onClick(View v)方法、//这样点击按钮时会利用反射的方式调用对应Activity中的click()方法。”public void click(View v){    Log.i("tag", "我是按钮实现事件");}}
以上是四种点击事件的自我总结,各有各的优点和缺点,视情况而定。
原创粉丝点击