美文网首页
Android 事件监听

Android 事件监听

作者: 2019Say10 | 来源:发表于2019-04-20 10:04 被阅读0次

Android中的事件监听,监听某件事件是否触发,如果触发执行之后要进行操作.可以用于某个线程是否执行完毕和监听用户操作事件.

定义监听接口

创建一个接口,在接口中添加需要回调的方法

public interface MyEventListener {

        void onTrigger();
}

设置监听事件

在EventTrigger事件执行后,设置监听触发.

public class MyEvent {

private MyEventListener myEventListener;

    public void setMyEventListener(MyEventListener myEventListener) {

        this.myEventListener = myEventListener;

    }

    public void eventTrigger() {   //模拟事件触发

        myEventListener.onTrigger();  //实现onTrgger方法时,调用接口中的onTrigger方法

    }

}

实现监听

在onTrigger中写之后要进行的操作.

MyEvent myEvent=new MyEvent();

myEvent.setMyEventListener(new MyEventListener() {

@Override

    public void onTrigger() {

    Log.i("Test", "onTrigger: 事件触发了");

    }

});

myEvent.eventTrigger();

如果在A类开启一个线程的时候,你并不知道线程什么时候会完成,你希望它完成后自动通知B对象,可以尝试使用接口回调。

定义一个接口,里面有onSuccess(),onFail()两个方法.

public interface Event {
    void onSuccess();
    void onFail();
}

定义一个线程模拟耗时操作,随机返回onSuccess()或onFail().

public class EventTask {
    private Handler mhandle;
    public void task(final Event event){
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(1000);//模拟一个耗时线程
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                Message message=new Message();
                message.what=1;
                mhandle.sendMessage(message);
            }
        }).start();
        mhandle=new Handler(){
            @Override
            public void handleMessage(Message msg){
                switch (msg.what){
                    case 1:
                        //线程完成,触发回调
                        //随机返回onSuccess或onFail回调
                        int result=new Random().nextInt(10);
                        if(result>=5){
                            event.onSuccess();
                        }else{
                            event.onFail();
                        }
                        break;  } } };  }}

获取接口回调.

  EventTask et=new EventTask();
        et.task(new Event() {
            @Override
            public void onSuccess() {
                Log.i("Test", "onSuccess: success");
            }

            @Override
            public void onFail() {
                Log.i("Test","onFail: fail");
            }
     });

相关文章

  • 监听android:drawableLeft和android:d

    监听android:drawableLeft和android:drawableRight点击事件 Drawable...

  • 监听事件-----菜鸟入门

    在Android 应用开发过程中,常用监听事件如下: (1) ListView事件监听setOn ItemSele...

  • 监听事件

    在Android 应用开发过程中,常用监听事件如下: (1) ListView事件监听setOn ItemSele...

  • 移动端固定底部的键盘随系统键盘弹起问题

    1、Android端,可以监听resize事件,进行显示隐藏按钮 2、IOS端,可以监听focus和blur事件,...

  • 关于Android的几种事件处理

    Android事件处理通常和控件相结合,通常有以下几种事件处理模型:•(一)事件监听的处理模型 • (二)基于监听...

  • [Flutter]监听Android返回键事件

    需求监听Android返回键按钮点击事件 实现通过 WillPopScope 可以实现对返回键点击事件的监听,通过...

  • 关于Android的几种事件处理

    Android事件处理通常和控件相结合,通常有以下几种事件处理模型:•(一)事件监听的处理模型 • 二)基于监听的...

  • Android 事件监听

    Android中的事件监听,监听某件事件是否触发,如果触发执行之后要进行操作.可以用于某个线程是否执行完毕和监听用...

  • BackHandler(后退键)

    BackHandler Android:监听后退按钮事件。如果没有添加任何监听函数,或者所有的监听函数都返回fal...

  • 二十二、事件处理

    Android提供了强大的事件处理机制,包含两套事件处理机制:基于监听的事件处理:为Android界面组件绑定特定...

网友评论

      本文标题:Android 事件监听

      本文链接:https://www.haomeiwen.com/subject/larkgqtx.html