【问题标题】:How can I make an Android Gallery redraw when a View changes?视图更改时如何重绘 Android 图库?
【发布时间】:2011-10-21 10:40:50
【问题描述】:

我正在修改一个Activity 以实现onConfigurationChanged(...),它包含一个扩展的Gallery,其成员使用来自Gallery 的适配器的LayoutParams 手动调整大小。

不幸的是,Gallery 最初显示错误:扩展的View 填满了整个屏幕。但是,一旦选择了另一个项目,View 就会以正确的大小显示。

作为一个实验,我尝试从Gallery#onConfigurationChanged(...) 方法中冻结所选View 的尺寸并发生相同的行为,表明View 已更新,但Gallery 未显示更改.

我还尝试从Activity#onConfigurationChanged(...)Gallery 上同时调用invalidate()postInvalidate()。什么都没有。

如何强制Gallery 使用View 的正确尺寸重新绘制?

【问题讨论】:

  • 你在适配器上试过 notifyDataSetChanged() 吗?
  • 刷新您的图库适配器。
  • @SnowyTracks 没用,很遗憾。
  • 我不确定您是如何将视图添加到您的画廊中的,但是,请尝试在适配器内部的视图上调用 invalidate(),而不仅仅是在画廊本身上。
  • 已经尝试过(从重置所有内容的 View 方法内部);仍然没有喜悦。 postInvalidate() 也没有做任何事情。

标签: android gallery onconfigurationchanged


【解决方案1】:

在您的图库适配器上调用 notifyDataSetChanged() 应该可以完成这项工作。

如果没有,可能是你的代码有问题。

【讨论】:

    猜你喜欢
    • 2010-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 1970-01-01
    相关资源
    最近更新 更多