3

我有一个动态插入的自定义视图,并且onDraw没有被调用。我最初在没有动态插入的情况下制作了自定义视图,它工作正常,但是当将它移动到我的工作代码库时,我onDraw永远无法被调用,即使视图构造函数被调用并且onMeasure也被调用。我试过在这个地方到处打电话,但他们似乎并没有强迫视图绘制invalidate()postInvalidate()两个版本的视图层次结构看起来相同,我迷路了。

任何人都可以帮忙吗?

编辑:更多的测试表明onDraw在模拟器上被调用,而不是手机。在onSizeChanged手机上也有正确的值通过,但在模拟器上这些值都是 0。

编辑:我一直在玩它,但仍然无法到达任何地方,所以对它进行了赏金。如果您需要更多代码/xml/信息,请告诉我。

4

2 回答 2

1

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

如果是后者,它requestLayout()不会被调用(加载视图层次结构会在每个视图上调用它 - 这就是它使视图显示的原因)。我还发现这里已经报告了一个类似的错误。

于 2010-12-05T15:01:16.583 回答
1

我将其更改View为 aTextView并且它现在似乎可以工作,尽管我对为什么View工作有点困惑。

于 2010-12-07T19:51:24.663 回答