1.getCount()返回的size是0
2.布局问题
3.线程问题
我遇到的是2,由于将listview的高度设为0dp,而将其重量设为1试图独占剩余的空间。
但是由于不小心将一个布局中的控件高度写成了match_parent,导致了调用listview的notifydatasetchanged的时候,不走getview这个流程。
看了下源码,其实是由于listview的高度设置导致的,虽然可见,但是由于父类空间的的确确被完全占用,因此走getview的时候默认判了false,导致不刷新。
收集了一下,还有别的两种愿意,第一种自然不谈,没有数据本就不应该刷新。
但是第三种线程问题,主要是由于子线程无法进行view的刷新,比如说将ui更新操作全部放在子线程里面,使用handler或者runonuithread进行刷新,notifydatasetchanged的时候可能默认跳过。