0
我有一个带适配器的ListView。我在ListViewItem上只有一个ImageView对象。当我更改ListViewItems中位图的内容时,我总是需要拨打adapter.notifyDataSetChanged()
。否则,位图不刷新。我已经在列表视图中的每个ImageView上尝试过myImageView.Invalidate()
,但这没有帮助。更新ListView时确实需要notifyDataSetChanged()
一些代码用于更新列表视图:
runOnUiThread(new Runnable()
{
@Override
public void run()
{
Canvas myCanvas = rowItems.get(0).getCanvas();
// draw on canvas
adapter.notifyDataSetChanged();
}
});
现在我的问题:是否有刷新列表视图(在我的情况下,位图的内容)或我打电话notifyDataSetChagend替代?谢谢!
Android SDK中的任何地方都没有'Invalidate()'方法 - 注意Java区分大小写。有些类有'invalidate()'方法,但不是'Bitmap'。除此之外,请提供一个[mcve]展示您的问题。 – CommonsWare
如果您使用recyclerview而不是listview,那么您不必调用notifyDataSetChanged。你可以更新单个项目在recylerview – penguin
检查我的问题关于刷新listviews也许它会帮助:http://stackoverflow.com/questions/32792394/how-to-invalidate-listview-for-new-data-when-using- listadapter – Manny265