为按钮(Button)添加响应事件,需要为其设置监听器(Listener)。本文总结了Android中常用的几种Button Listener。

一.使用匿名内部类

Button button = (Button)findViewById(R.id.button);button.setOnClickListener(new OnClickListener {public void onClick(View v) {System.out.println("使用匿名内部类创建按钮监听器");}});

二.使用内部类

public class ButtonListener extends Activity {public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);           setContentView(R.layout.main);   Button button = (Button)findViewById(R.id.button);   MyListener myListener = new MyListener();   button.setOnClickListener(myListener);        }        class MyListener implements OnClickListener {   public void onClick (View v){System.out.println("使用内部类创建按钮监听器");   }        }}

三.使用外部类

public class ButtonListener extends Activity {......Button button = (Button)findViewById(R.id.button);button.setOnClickListener(new ButtonListener());}public class ButtonListener implements OnClickListener {public void onClick (View v){System.out.println("使用外部类创建按钮监听器");}}

四.绑定到标签

在布局文件中为Button控件添加属性:

android:onClick="ButtonListener"

然后在java中定义ButtonListener方法

public void ButtonListener (View source) {System.out.println("使用标签属性创建按钮监听器");}
   
五.接口方式监听按钮点击事件
MainActivity.java的代码如下package cn.edu.nuc.xsc.hsth;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageButton;import android.app.Activity;public class MainActivity extends Activity implements OnClickListener{private Button loginButton;private ImageButton imgBut;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);loginButton = (Button) findViewById(R.id.button);//初始化当前所需要的控件/* * 2.监听事件通过第二种方式实现(独立实现) * */loginButton.setOnClickListener(listener);imgBut = (ImageButton) findViewById(R.id.imageButton);//通过一个实现接口的方式实现监听事件imgBut.setOnClickListener(this);//通过this来访问本生接口下的对象的}OnClickListener listener = new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub//System.out.println("独立类实现的监听事件被触发了");//用log日志的方式输出Log.i("tag", "独立类实现的监听事件被触发了");}};@Overridepublic void onClick(View v) {//Log.i("tag", "接口方式监听按钮点击事件");}}

更多相关文章

  1. Android之MediaRecorder进行录影
  2. Android(安卓)ListView中有Button,ItemClick事件失效
  3. 简叙 Activity 生命周期及android 返回按钮扑捉
  4. Android菜单的定义及ActionBar的实现
  5. Android自定义控件按钮
  6. Android实现点击某个按钮指定位置弹出布局
  7. Android(安卓)利用方向传感器实现 指南针
  8. 下拉菜单中自动亮度调节&P 上背光调节

随机推荐

  1. android 设置textview边框以及点击效果
  2. android:Spinner 设置收起以及展开的字体
  3. Android(安卓)对话框
  4. android软键盘隐藏总结
  5. android4.2上获取应用程序大小的变更点
  6. Android(安卓)解决Handler在运行时加载报
  7. Android中MediaButtonReceiver广播监听器
  8. Android中各种onTouch事件
  9. Android修炼之道—时间测量
  10. Get the Android(安卓)SDK---获取Android