美文网首页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