關於pullToRefresh使用時的問題總結:

    相信很多新手在使用pullToRefresh的時候都有一個困惑,就是檢查了很多遍,代碼沒有任何問題,可數據就是顯示不出來。這時候你就會改成listView,然後數據正常展示出來了。這就證明你的代碼沒有任何問題。可是問題出在哪裏呢?抓耳撓腮,百思不得其解。
    下面是遇到的問題描述:
  在fragment中使用的時候數據展示不出來,如果設置上setEmptyView的話數據就能展示出來。這時候就出現了第二個問題,這個emptyView有多高他就只在這個高度的範圍內顯示。這個高度肯定不會是全屏的,所以就導致了數據不能全屏顯示。就算將emptyview的高度設置爲填充父容器,仍然沒作用,他只認這個view的實際高度。這個時候你可能會想到將emptyView的高度寫成一個固定的很大的高度。這樣做還真的管用。可是你是否考慮過適配的問題,你這個空佈局在不同的手機上如何顯示呢。這樣沒有真正的解決問題,反而又多了一個問題。下面給出解決方案!

    遇到這樣的情況首先去檢查你的佈局是相對佈局還是線性佈局,我想遇到這種情況的大多數都是使用的線性佈局。原因有二,第一:fragment默認的佈局就是線性的,你可能不會去修改;第二:線性佈局相對簡單,你也懶得去使用相對佈局。這就是問題的關鍵。
    這個控件是自定義的,就算你設置高度是填充父容器,那麼他也撐不開這個佈局。所以就顯示不出來。當你設置了emptyView的時候是這個emptyView撐開了這個佈局,所以這個佈局有多大就會顯示多大的區域。說到這裏大家該明白了吧,是由於沒有撐開佈局導致的,那麼我們將佈局撐開不就解決問題了嘛。所以就是將你的線性佈局改成相對佈局,高度依然填充父容器就OK了。這時候不管你設置不設置emptyView都是沒有問題的。

    在這裏順便告訴大家,線性佈局是很簡單,但不是我們做項目時候的首選。儘量的多多使用相對佈局。

    以上僅僅是個人理解,如果有誤希望大家多多指點。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章