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);
        }
    }
  • 相关阅读:
    git
    avalonJS
    push
    DataTables使用学习记录
    django models使用学习记录
    js操作记录
    部署网站遇到的问题
    ubuntu修改文件权限记录
    django发送邮件
    ubuntu使用记录
  • 原文地址:https://www.cnblogs.com/lotusve/p/2573628.html
Copyright © 2011-2022 走看看