解决方案 »

  1.   

    java.lang.IndexOutOfBoundsException: Invalid index 2, size is 1 
    你的数组大小只有1 ,你获取了下标 2 所以报错,你看看你的列表下标问题。
    看你的错误应该在getView方法里面有问题。
      

  2.   

    数组越界不知道如何下手解决bug
      

  3.   

    java.lang.IllegalStateException: 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.​
    这个是listview的数据已经更新,但没有调用notifydatachange.数组越界的问题,不难解决,信息中没有定位哪一行,你就找listview中用到数组或者list的地方就是.
      

  4.   

      在onClick里面打个断点,debug 一下。一步一步走。可以看到异常在哪。
      

  5.   

    没有啊, 都做了判断的,list主要是用来数据更新的,该做判断的地方都做了,结果还是报错,数组越界(猛点底部选项卡切换报异常)
      

  6.   

    1.可用用commitAllowingStateLoss替换commit
    2.看提示来,listview没有及时更新
    3.at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:225)
    已经提示这个adapter出错了,仔细查查
      

  7.   

    在点选项卡时,最好重新new adapter然后去加载数据,再把listview绑到新的adapter上去
      

  8.   

     The content of the adapter has changed but ListView…这个异常是Adapter绑定的数据外部更新导致的,建议你把线程更新的数据源和适配器用的分离。
    比如一个list数据,线程更新的是一个引用,当更新完该list,新建一个list,把更新好的list拷贝给这个新的list,把这个新的list给适配器的构造函数,用作listview的数据源,这样子线程更新数据源就不会报这个异常,就是增加了内存开销。
      

  9.   

    你现在的情况是这样的,你点击快速的点击多次选项卡,第一次的处理还没结束,第二次,第三次就开始,他们之间又存在资源公用的问题。所以你必须做同步,sychronized下才行
      

  10.   

    修改数据后,没有即使调用Adapter.notifyDataChanged()?
      

  11.   

    sychronized同步多线程对象吗,还是。。?
      

  12.   

    问题根源:你点击快速的点击多次选项卡,第一次的处理还没结束,第二次,第三次就开始,他们之间又存在资源公用的问题。要不你做响应判断,要不做你同步sychronized锁...
      

  13.   

    响应判断怎么监听,同步sychronized锁应该加在哪个地方?请指点一下。
      

  14.   

    使用listView的时候有没有加优化呢?没加优化的话,加载大量数据的时候会有BUG。
      

  15.   

    IndexOutOfBoundsException
    这个挺好解决的吧