蘋果刷新有自帶的控件,Android卻沒有,每次項目需求不一樣,改改,google出了SwipeRefreshLayout之後方便不少.接下來記錄下遇到SwipeRefreshLayout使用的一些問題.
SwipeRefreshLayout許多都是和listview的一起使用.但使用過程中,出現問題.
SwipeRefreshLayout有使用限制,它的子view只能是一個,而且是scrollview,listview,gridview,等等,使用linearlayout會出現問題.
問題來了,我們使用listview的setEmptyView的使用,佈局文件中的emptyview必須要和listview同一節點,但是SwipeRefreshLayout的子view,又是只能有一個,但卻又不可使用linearLayout,所以這裏就有衝突了,如下:
解決:
重新佈局使用scollview包含,如圖.
爲什麼要設置fillViewport=true?這樣可以解決listview和scrollview的滑動衝突,,滑動時間完全都子控件listview接受觸發
運行後,萬事卻不會那麼順利,問題又來了,上拉很正常,loadMoreLostview也照常加載數據,但是卻無法下拉了,下拉後觸發的是SwipRefreshLayout,,,那就呵呵了,沒滑到listview的頂部是不能觸發SwipRefreshLayout,,所以加了判斷.
這樣就完美解決