• 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 没问题了 

    应该是异步线程没有及时更新数据造成的 在此备注下

  • 相关阅读:
    矩阵树(Matrix-Tree)定理精华
    【面试题flex】关于弹性盒子中 flex: 0 1 auto 的一系列问题
    纯函数-Javascript
    uniapp 低功耗蓝牙使用(经典蓝牙用native.js)
    uniapp截屏
    unicloud数据聚合处理
    uniapp的post请求失效问题
    unicloud链表查询
    uni-id的使用
    坐标转换
  • 原文地址:https://www.cnblogs.com/kukum/p/4626658.html
Copyright © 2020-2023  润新知