您好,欢迎来到花图问答。
搜索
您的当前位置:首页android Handler静态内部类

android Handler静态内部类

来源:花图问答

public class UIHandler<T> extends Handler {
 
    protected WeakReference<T> ref;
 
    public UIHandler(T cls){
        ref = new WeakReference<T>(cls);
    }
 
    public T getRef(){
        return ref != null ? ref.get() : null;
    }

使用方法

private static class UIMyHandler extends UIHandler<HandlerActivity>{
 
        public UIMyHandler(HandlerActivity cls) {
            super(cls);
        }
 
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            HandlerActivity activity = ref.get();
            if (activity != null){
                if (activity.isFinishing())
                    return;
 
                switch (msg.what){
 
                    case 1:{
 
                        break;
                    }
 
                    // ...
 
                }
 
            }
        }
    }
 
    private UIMyHandler myHandler = new UIMyHandler(this);

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务