Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> BaseAdapter的Bug

BaseAdapter的Bug

編輯:Android開發實例

有時候我們使用BaseAdapter時可能會發現,經常出現類似The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread.或在getView中數組越界等問題,在過去 The content of the adapter has changed解決方法 這篇文章中有提及,我們可以每更新一條使用一次notifyDataSetChanged() 強制刷新BaseAdapter的計數器,notifyDataSetChanged() 的作用就是通知BaseAdapter內部的DataSetObservable對象執行notifyChanged()方法從而達到實現Adapter接口的一些方法,比如getCount或getItem的更新。Android123提示大家目前還有一種比較曲線的方法就是設置綁定BaseAdapter的View,比如ListView或GridView的 Visibility屬性為GONE,當Adapter通知更新後再設置為VISIBLE,這樣可以阻止中間ListView的事件激活而出現這些問題,當然還有其他更好的解決方法。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved