android事件监听和事件处理机制

来源:互联网 发布:其皆出于此乎句式 编辑:程序博客网 时间:2024/05/16 11:16

android应用框架为用户提供了时间处理机制来处理用户触发的动作,常见的事件包括键盘事件、输入事件、触屏事件等。下面详细介绍这写机制

事件监听器

1.View.OnClickListener 监听器
View.OnClickListener监听器是最经常使用的监听器之一,用于处理点击事件,OnClickListener是View类内部的接口,其接口的方法为onChick(View v),该方法只有一个参数,就是点击事件触发的控件对象本身。在使用过程中必须实现onChick方法,也就是把点击之后需要处理的逻辑代码放到此方法中。
实现方法1:

class MyListener implements View.OnClickListener{        @Override        public void onClick(View v) {            Toast.makeText(MainActivity.this,"you have clicked Button2",Toast.LENGTH_SHORT).show();        }    }

实现方法2:

    private View.OnClickListener MyListener = new View.OnClickListener() {        @Override        public void onClick(View v) {            Toast.makeText(MainActivity.this,"you have clicked Button2",Toast.LENGTH_SHORT).show();        }    };

2.View.OnFocusChangeListener监听器
监听器 View.OnFocusChangeListener用于处理选中的事件。比如界面中由若干个ui控件,当需要根据选中的不同的控件来处理不同的逻辑,就可以使用按钮控件对象的.View.OnFocusChangeListener方法来这值.View.OnFocusChangeListener监听对象,选中需要处理的逻辑会在监听对象的.View.OnFocusChange方法中实现。

void onFocusChange(View v,boolean hasFocus)

3.ViewOnKeyListener监听器
监听器ViewOnKeyListener是用于处理键盘的按键可以在该监听器的OnKey方法中处理用户点击不同按键时所需要的处理逻辑。

onKeyboolean onKey(View v,int keyCode,KeyEvent event)

4.View.OnTouchListener监听器
监听器View.OnTouchListener用于处理android系统的触屏事件,当位于View范围内的触摸按下、抬起或滑动等动作时都会触发触屏事件。此监听器必须实现的接口方法是onTouch(View v,MotionEvent event),这里要注意的是第二个参数,因为这个参数表示的是用户触发的动作事件,可以根据这个桉树的值来处理比较复杂的手势动作

实例一:

public GestureDetector(Context context, GestureDetector.OnGestureListener listener)private OnTouchListener gestureTouchListener = new OnTouchListener() {public boolean onTouch(View v, MotionEvent event) {  return gDetector.onTouchEvent(event);}};

实例二:

private GestureDetector mGestureDetector;mGestureListener = new BookOnGestureListener();构造出来mGestureDetector = new GestureDetector(mGestureListener);class BookOnGestureListener implements OnGestureListener {同时要public boolean onTouchEvent(MotionEvent event) {  mGestureListener.onTouchEvent(event);  }
原创粉丝点击