【问题标题】:Android ListView not being repainted on scrollAndroid ListView 不会在滚动时重绘
【发布时间】:2013-07-19 07:02:00
【问题描述】:

最好用图片来描述。在滚动到我的ListView 之前,一切看起来都很好:

滚动后:

什么可能导致这种奇怪的行为?我正在运行 Android 4.2.2Google Nexus 上对其进行测试,并在运行 Android 3.2 的模拟器上进行了测试,结果相同。在此示例中,我使用具有两种类型行的 ListView,但使用仅具有一种行类型的标准 ListView 得到相同的结果。

【问题讨论】:

    标签: java android list listview view


    【解决方案1】:

    原来问题是我没有在我的布局 XML 文件中设置背景颜色...如果有人可以向我解释为什么这可以解决问题,我将不胜感激。添加 android:background="#000000" 到我的主布局修复了它。

    ....

    【讨论】:

    • 我不确定,但我认为对于较新的设备,他们使用硬件加速来绘制布局等。我认为这利用了 OpenGL ES,如果您曾经编写过一些东西来以 3d 形式在屏幕上绘制和移动,而不是绘制背景,那么就会留下类似的伪影。我想,因为它从来没有被告知要吸引那部分记忆,所以它只会留下任何存在的东西。由于缓冲和其他东西,它会闪烁。如果我错了,请纠正我。
    • 哦,好吧,这是有道理的。至少您的前提是正确的,并且对于 Android 4.0 及更高版本,硬件加速默认情况下处于启用状态。不过,令我惊讶的是,我在 Internet 的其他地方找不到这种特定问题的出现。毕竟,我觉得既不设置背景颜色又拥有列表视图并不少见。谢谢你的解释!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多