listview 遇到問題java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0


開發的時候 遇到 java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0 

這個異常有時候會有,有時候正常 不太好捕捉

猜測 已經把數據給了list,然后讓主線程去顯示;接着后台繼續獲取數據。那也許有可能主線程還是沒刷新完,后台又把新數據給過來了

所以 猜測 是刷新頭部出現的問題 

也就是 

news.clear();
news.addAll(0, refreshNewData);
newsAdapter.notifyDataSetChanged(); 

這里出現的問題 

所以調整為:

		news.clear();
		news.addAll(localNews);
          newsAdapter=new NewsListAdapter(activity, news); mnews_listview.setAdapter(newsAdapter); newsAdapter.notifyDataSetChanged();

因為有headview 所以還是有問題 這個時候調整了下headview

變成

			news.clear();
			news.addAll(localNews);

              newsAdapter=new NewsListAdapter(activity, news);

     if(mnews_listview.getHeaderViewsCount()>0){

				mnews_listview.removeHeaderView(viewGallery);
			}
			mnews_listview.addHeaderView(viewGallery);
			mnews_listview.setAdapter(newsAdapter);
			newsAdapter.notifyDataSetChanged();

  ok 沒問題了 

應該是異步線程沒有及時更新數據造成的 在此備注下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM