美文网首页
android Handler静态内部类

android Handler静态内部类

作者: yunhen | 来源:发表于2018-07-10 10:14 被阅读16次
    
    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);
    

    相关文章

      网友评论

          本文标题:android Handler静态内部类

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