第一种:匿名内部类

package com.xspacing.listener;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {    private Button mButton;    private Context mContext;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mContext = this;        initViews();        initDatas();    }    private void initViews() {        mButton = (Button) findViewById(R.id.main_btn_click);    }    private void initDatas() {        mButton.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                Toast.makeText(mContext, "点击了按钮", 0).show();            }        });    }}
<RelativeLayout 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" tools:context="com.xspacing.listener.MainActivity" >    <Button  android:id="@+id/main_btn_click" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="点击事件" />RelativeLayout>

第二种:实现接口

package com.xspacing.listener;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity implements OnClickListener {    private Button mButton;    private Context mContext;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mContext = this;        initViews();        initDatas();    }    private void initViews() {        mButton = (Button) findViewById(R.id.main_btn_click);    }    private void initDatas() {        mButton.setOnClickListener(this);    }    @Override    public void onClick(View v) {        switch (v.getId()) {        case R.id.main_btn_click:            Toast.makeText(mContext, "点击了按钮", 0).show();            break;        default:            break;        }    }}

布局文件同上

第三种:定义内部类实现接口

package com.xspacing.listener;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {    private Button mButton;    private Context mContext;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mContext = this;        initViews();        initDatas();    }    private void initViews() {        mButton = (Button) findViewById(R.id.main_btn_click);    }    private void initDatas() {        mButton.setOnClickListener(new MyListener());    }    class MyListener implements OnClickListener {        @Override        public void onClick(View v) {            switch (v.getId()) {            case R.id.main_btn_click:                Toast.makeText(mContext, "点击了按钮", 0).show();                break;            default:                break;            }        }    }}

布局文件同上

第四种:在xml定义点击属性

package com.xspacing.listener;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.widget.Toast;public class MainActivity extends Activity {    private Context mContext;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mContext = this;    }    public void myBtnClick(View view) {        Toast.makeText(mContext, "点击了按钮", 0).show();    }}
<RelativeLayout 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" tools:context="com.xspacing.listener.MainActivity" >    <Button  android:onClick="myBtnClick" android:id="@+id/main_btn_click" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="点击事件" />RelativeLayout>

更多相关文章

  1. Android 点击按钮,文本文字改变
  2. android xml布局中TextView文字居中方法
  3. android 动态布局setLayoutParams方法设置
  4. android一种较为复杂的布局
  5. 谈谈android不同尺寸,不同分辨率的布局
  6. Android 布局之GridLayout
  7. Android 的布局
  8. Android四种布局
  9. 从简单的android 登陆应用 ,学习布局,

随机推荐

  1. Android官方技术文档翻译—— Eclilpse项
  2. Android:UI更新方法四:在Worker Thread中
  3. android Java代码的启动
  4. 新建android工程 没有R.java文件
  5. Android应用程序显示欢迎画面并开机自启
  6. Android调起高德地图
  7. Android(安卓)Timer的用法示例
  8. 自定义控件--虚线
  9. Android(安卓)代码设置来电铃声
  10. Android(安卓)7.1.2(Android(安卓)N) Act