Java listview上的OnDraw错误

Java listview上的OnDraw错误,java,android,ondraw,Java,Android,Ondraw,我已经用自定义onDraw方法创建了一个listview。我想让listview的一个项目显示为“聚焦/选中”,所以我在它上面画了一条红线。但是在android 2.3手机上,当你滚动listview时,从onDraw方法创建的所有内容突然出现在listview包含的TextView下。如果触摸listview而不滚动它,从而选择一个项目,然后松开手指,onDraw方法再次正常工作。然而,在安卓4手机上,enverything工作正常 这真的很烦人,使应用程序无法在2.3安卓手机上使用。 有人知

我已经用自定义onDraw方法创建了一个listview。我想让listview的一个项目显示为“聚焦/选中”,所以我在它上面画了一条红线。但是在android 2.3手机上,当你滚动listview时,从onDraw方法创建的所有内容突然出现在listview包含的TextView下。如果触摸listview而不滚动它,从而选择一个项目,然后松开手指,onDraw方法再次正常工作。然而,在安卓4手机上,enverything工作正常

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

我以前遇到过类似的问题,并使用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 
}

我以前也遇到过类似的问题,使用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 
}

不要告诉我们,我们应该告诉你发布你的代码。发吧。不要告诉我们,我们应该告诉你发代码。发吧,谢谢!我还不能投票支持你的答案,但当我得到足够的支持时,我会的!非常感谢。我还不能投票支持你的答案,但当我得到足够的支持时,我会的!