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

來源:互聯網
上載者:User

標籤:

開發的時候 遇到 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 沒問題了 

應該是非同步線程沒有及時更新資料造成的 在此備忘下

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.