簡體   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