列表视图上的OnDraw错误

时间:2013-05-02 16:17:21

标签: java android ondraw

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

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

1 个答案:

答案 0 :(得分: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 
}