2013-05-02 40 views
0

我用自定义的onDraw方法创建了一个列表视图。我想让列表视图的项目出现“聚焦/选中”,所以我在上面画一条红线。但在android 2.3手机上滚动列表视图时,从onDraw方法创建的所有内容突然显示在listview包含的textviews下。如果你在不滚动列表视图的情况下触摸列表视图,选择一个项目,然后释放你的手指,onDraw方法再次正常工作。然而在Android 4手机上,一切都很好。OnDraw在列表视图上的错误

这真的很烦人,并使应用程序在2.3 Android手机上无法使用。 有谁知道为什么会发生这种情况?告诉我你是否希望我发布示例代码。

+0

不要告诉我们,我们应该告诉您发布您的代码。只需发布它。 – Rayne 2013-05-02 16:23:42

回答

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 
} 
+0

谢谢!我不能投票你的答案,但是当我得到足够的代表我会的! – user2171062 2013-05-02 17:47:40