[英]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.