我使用自定义onDraw方法创建了一个listview。我想让列表视图中的项目显示为“聚焦/选择”,因此我在其上绘制一条红线。但是在Android 2.3手机上滚动列表视图时,从onDraw方法创建的所有内容突然出现在listview包含的文本视图下。如果您触摸列表视图而不滚动它,从而选择一个项目,然后松开手指,onDraw方法再次正常工作。但是在Android 4手机上,一切正常。
这真的很烦人,使得应用程序在2.3安卓手机上无法使用。 有谁知道为什么会这样?如果您希望我发布示例代码,请告诉我。
答案 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
}