開發的時候 遇到 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 沒問題了
應該是異步線程沒有及時更新數據造成的 在此備注下