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