1.getCount()返回的size是0
2.布局問題
3.線程問題
我遇到的是2,由於將listview的高度設為0dp,而將其重量設為1試圖獨占剩余的空間。
但是由於不小心將一個布局中的控件高度寫成了match_parent,導致了調用listview的notifydatasetchanged的時候,不走getview這個流程。
看了下源碼,其實是由於listview的高度設置導致的,雖然可見,但是由於父類空間的的確確被完全占用,因此走getview的時候默認判了false,導致不刷新。
收集了一下,還有別的兩種願意,第一種自然不談,沒有數據本就不應該刷新。
但是第三種線程問題,主要是由於子線程無法進行view的刷新,比如說將ui更新操作全部放在子線程里面,使用handler或者runonuithread進行刷新,notifydatasetchanged的時候可能默認跳過。