Связь между drawableStateChanged () и draw ()

Мне интересно, какая связь между ViewGroup.drawableStateChanged() а также ViewGroup.draw(). Я ожидал этогоViewGroup.drawableStateChanged() всегда приводит к вызову ViewGroup.draw(), однако это не всегда так:

// hint: in the constructor of my custom ViewGroup
// I've set these:  
// setWillNotDraw(false); // enables draw / onDraw to be called
// setAddStatesFromChildren(true)

override fun drawableStateChanged() {
    Timber.i("TST: drawableStateChanged")
    super.drawableStateChanged()
}

override fun draw(canvas: Canvas?) {
    Timber.i("TST: draw")
    super.draw(canvas)
}

это дает мне как результат:

TST: drawableStateChanged
TST: drawableStateChanged
TST: drawableStateChanged
TST: draw <---- draw called after drawableStateChanged
TST: draw
TST: drawableStateChanged
TST: drawableStateChanged
[no draw called after drawableStateChanged] 

Итак, когда draw позвонил после drawableStateChangedа когда нет? Благодарность!

0 ответов

Другие вопросы по тегам