美文网首页Android开发Android技术知识Android开发
Android自定义view中,postDelayed执行失败

Android自定义view中,postDelayed执行失败

作者: 沐_Andorid开发者 | 来源:发表于2018-05-28 16:30 被阅读32次

    原因:在View的onAttachedToWindow之前进行post,会失败

    解决方法

    private boolean mAttached;
    
    @Override
    protected void onAttachedToWindow() {
          super.onAttachedToWindow();  
          mAttached = true;
    }
    
     @Override
    protected void onDetachedFromWindow() {
          mAttached = false;
          super.onDetachedFromWindow();
    }
    
    public void show() {
            //....
            if (mAttached) {
                  postDelayed(mDelayedShow, MIN_DELAY);    
            } else {
                  Handler handler = new Handler();
                  handler.post(mDelayedShow);
            }
    }
    
    

    相关文章

      网友评论

        本文标题:Android自定义view中,postDelayed执行失败

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