A有自定义视图。此视图基于原则ListView
,但所有项目都使用Canvas,因此它们不是ViewGroup
的子项。多说:我的视图不是ViewGroup
,而是View
。现在我想使用Adapter
接口通过getView(...)
方法向我的视图提供数据。的但即可。我一直被绘制问题困扰。我试图将View
的延伸更改为ViewGroup
,这让我感到困惑。 onDraw()
方法未被调用!我真的想避免发布我的代码,它在 NDA 下工作,所以我想知道 - 如果我们从ViewGroup
延伸,View
绘图逻辑是不一样的,而不是来自ViewGroup
?
答案 0 :(得分:5)
setWillNotDraw
被强制为假,否则是预期的行为。 ViewGroup不应该自己做任何绘图,而是将绘图委托给他们的孩子。如果您要覆盖此行为,可以拨打setWillNotDraw(false)
或覆盖dispatchDraw(Canvas canvas)
,而不是onDraw