Android - onDraw未在动态插入的自定义视图中调用

时间:2010-12-05 11:41:58

标签: android custom-view ondraw

我有一个动态插入的自定义视图,并且没有调用onDraw。我最初在没有动态插入的情况下创建了自定义视图,并且工作正常,但是当将其移动到我的工作代码库时,即使视图构造函数被调用,onDraw也无法调用onMeasure。{{1也被调用了。我已经尝试在这个地方放置invalidate()postInvalidate()来电,但它们似乎并没有强迫视图绘制。对于这两个版本,视图层次结构看起来都相同,而我丢失了。

有人可以帮忙吗?

编辑:更多的测试表明,onDraw正在仿真器上调用,而不是手机。手机上的onSizeChanged也有正确的值,但在仿真器上的值都是0.

编辑:我一直在玩它并仍然无法到达任何地方,所以已经给它一个赏金。如果您需要更多代码/ xml / info,请告诉我们。

2 个答案:

答案 0 :(得分:1)

这听起来很像我最近的一个问题,我的第一个自定义视图。在加载视图层次结构时,您是否注意到自定义视图是否显示?无论如何它们是否在线框预览中显示出来?

如果是后者,那么requestLayout()不会被调用(加载视图层次结构会调用每个视图 - 这就是为什么它会显示视图)。我还发现已经报告过类似的错误here

答案 1 :(得分:1)

我已将View更改为TextView并且它现在似乎有效,但我对为什么 View没有'感到困惑工作。