zoukankan      html  css  js  c++  java
  • java 监听器实现原理

    监听器实现者:

    public class MyActivity extends Activity implements InternetManager.Listener {
    
        private TextView mText;
        private InternetManager mInetMgr;
    
        /* called just like onCreate at some point in time */ 
        public void onStateChange(boolean state) {
            if (state) {
                mText.setText("on");
            } else {
                mText.setText("off");
            }
        }
    
        public void onCreate() {
            mInetMgr = new InternetManager();
            mInetMgr.registerListener(this);
            mInetMgr.doYourWork();
        }
    }

    自定义类,监听器作为内部属性(包含方法),

    类中存在调用监听器内部方法的地方,

    set不同的监听器实现者,处理的方式便不一样,

    监听器相当于一个钩子,做回调使用。

    public class InternetManager {
        // all the listener stuff below
        public interface Listener {
            public void onStateChange(boolean state);
        }
    
        private Listener mListener = null;
        public void registerListener (Listener listener) {
            mListener = listener;
        }
    
        // -----------------------------
        // the part that this class does
    
        private boolean isInternetOn = false;
        public void doYourWork() {
            // do things here
            // at some point
            isInternetOn = true;
            // now notify if someone is interested.
            if (mListener != null)
                mListener.onStateChange(isInternetOn);
        }
    }
  • 相关阅读:
    zookeeper.Net
    转码和解码
    Node.js开发Web后台服务
    SQL Server 2012 读写分离设置
    使用C# 和Consul进行分布式系统协调
    http2
    .net core 2.1.3可能引发Could not load file or assembly XXXXX的错误
    jquery on函数和prop与attr区别
    html页面中完成查找功能
    C#匿名参数(转载too)
  • 原文地址:https://www.cnblogs.com/lotusve/p/2573628.html
Copyright © 2011-2022 走看看