gpt4 book ai didi

java - Android BaseAdapter.notifyDataSetChanged() 不刷新 View

转载 作者:行者123 更新时间:2023-12-01 05:31:29 25 4
gpt4 key购买 nike

我有一个 GridView,上面附加了一个 BaseAdapterGridView 本身包含在 ViewFlipper 中。

我通过调用 ViewFlipper 上的 setDisplayedChild() 方法来显示 GridView,然后更新 检查的数据集BaseAdapter 最后我在适配器上调用 notifyDataSetChanged()。它通常不会用新内容刷新 GridView,或者有时会随机刷新它,因此显得不可预测。

我注意到,当我将设备旋转到新方向时, View 会自行刷新并正确加载适配器数据。当设备进入待机状态并且我解锁它时,也会发生同样的情况, View 会神奇地用新数据刷新。

我尝试在UIThread中调用notifyDataSetChanged(),我尝试通过调用forceLayout()来强制 View 刷新,requestLayout()invalidate()invalidateChildren() 等等,但没有任何变化。

即使我从按钮调用 notifyDataSetChanged() 也不会发生任何事情,只需旋转设备或锁定和解锁它就会刷新 View 。

我正在使用 Android 3.2 的 Asus 平板电脑上进行开发。

有人可以帮助我或给我一些提示吗?

非常感谢!

最佳答案

如果您的 View 没有通过使用上述所有内容刷新,那么您必须重新绘制 GridView ,或者您可以在设置网格适配器时做一件事,将这些行放在 Resume 方法上,并在进行更改后调用 onResume()您的数据。

关于java - Android BaseAdapter.notifyDataSetChanged() 不刷新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8909362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com