Android 解決SwipeRefreshLayout和listview的setEmptyView的衝突 listview和scrollview的衝突

蘋果刷新有自帶的控件,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,,所以加了判斷.



這樣就完美解決

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章