检测视图何时失效

时间:2011-07-23 21:22:36

标签: android view

在自定义视图中,我需要在onDraw()内部执行一些额外的工作,当且仅当应用程序使View无效时;也就是说,我自己的代码在UI线程中称为invalidate(),在非UI线程中称为postInvalidate()。另一方面,如果因为系统使View无效而调用onDraw(),我不希望执行额外的工作。

实现这一目标的最佳方法是什么?我的想法是简单地覆盖invalidate()postInvalidate()并在这两者中设置一个标志,但如果有一个我可以覆盖的UI线程方法会更好。

有什么想法吗?

谢谢,Trev

1 个答案:

答案 0 :(得分:4)

postInvalidate()最终调用invalidate(),因此您不需要同时覆盖它们。但是如果你覆盖invalidate(),系统将调用被覆盖的版本。