繁体   English   中英

Android BaseAdapter.notifyDataSetChanged()不刷新视图

[英]Android BaseAdapter.notifyDataSetChanged() does not refresh view

我有一个附有BaseAdapterGridView 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM