0

我用自定义的 onDraw 方法创建了一个列表视图。我想让列表视图的一个项目显示为“聚焦/选定”,所以我在它上面画了一条红线。但是在 android 2.3 手机上,当您滚动列表视图时,从 onDraw 方法创建的所有内容都会突然出现在列表视图包含的文本视图下。如果您触摸列表视图而不滚动它从而选择一个项目然后松开手指,则 onDraw 方法将再次正常工作。但是在 android 4 手机上一切正常。

这真的很烦人,并且使该应用程序无法在 2.3 android 手机上使用。有谁知道为什么会这样?如果您希望我发布示例代码,请告诉我。

4

1 回答 1

4

我之前也遇到过类似的问题,使用 dispatchDraw 方法解决了。将以下内容添加到您的 listView 类:

@Override
protected void dispatchDraw(Canvas canvas) {
    //DO YOUR DRAWING ON UNDER THIS VIEWS CHILDREN  
    super.dispatchDraw(canvas);
    //DO YOUR DRAWING ON TOP OF THIS VIEWS CHILDREN 
}
于 2013-05-02T16:26:44.293 回答