[英]BaseAdapter.notifyDataSetChanged doesn't update its ListView
[英]Android BaseAdapter.notifyDataSetChanged() does not refresh view
我有一个附有BaseAdapter
的GridView
。 GridView
本身包含在ViewFlipper
。
我通过在ViewFlipper
上调用setDisplayedChild()
方法来显示GridView
,然后更新由BaseAdapter
检查的数据集,最后在适配器上调用notifyDataSetChanged()
。 它通常不使用新内容刷新GridView
,或者有时它随机刷新它,因此它看起来不可预测。
我注意到,当我将设备旋转到新的方向时,视图会刷新自身并正确加载适配器数据。 当设备进入待机状态并且我对其进行解锁时,也会发生同样的事情,新数据神奇地刷新了视图。
我试着拨打notifyDataSetChanged()
在UIThread
,我试图通过调用强制视图刷新forceLayout()
requestLayout()
invalidate()
invalidateChildren()
等,但没有任何变化。
即使我从一个按钮调用notifyDataSetChanged()
也没有任何反应,只是旋转设备或对其进行锁定和解锁都会刷新视图。
我正在使用Android 3.2的Asus平板电脑进行开发。
有人可以帮我还是给我一些提示?
非常感谢你!
如果使用上述所有方法都无法刷新视图,则必须重新绘制网格视图,或者在设置网格适配器时可以做一件事,即将该行放在Resume方法上,并在更改数据后调用onResume()。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.