封裝後**
2. adapter
3.activity中
定義兩個 item , 第乙個是正常顯示內容的 item ,第二個是顯示正在載入檢視的 item 。如果 adapter 中(position + 1 == itemcount),則說明滑到了最下面,此時載入第二個布局。
在 oncreateviewholder 中對 viewtype 進行判斷,根據情況返回兩種不同的 viewholder。同樣,在onbindviewholder 中對兩種情況作不同處理。
在 activity 中對 recyclerview 的滑動事件進行監聽,如果 recyclerview 滑動到最下面,則進行相應的邏輯處理。
**如下(示例):
class myadapter(val data : list
): recyclerview.adapter()
class footvh(view: view): recyclerview.viewholder(view)
override fun getitemviewtype(position: int): int
else
} override fun oncreateviewholder(parent: viewgroup, viewtype: int): recyclerview.viewholder else
} override fun getitemcount(
): int
override fun onbindviewholder(holder: recyclerview.viewholder, position: int)
else
if(holder is footvh)
else if
(footstate == 3)
else if
(footstate == 4)}}
fun setfootstate(state: int)
}
定義乙個抽象類,減少activity中對recyclerview的監聽**
**如下(示例):
abstract class endrecycleronscrolllistener: recyclerview.onscrolllistener()}
abstract fun loadmore(
) fun setflag(flag: int)
}
)
}else }}
}, 1000)}}
)}fun getdata()}
}至此已經實現了上拉載入更多的功能,不過此時如果其他 recyclerview 也要實現上拉載入更多,就要寫許多重複**在 adapter 中,為了減少重複**,下面對 adapter 進行封裝。):
recyclerview.adapter()
override fun getitemviewtype(position: int): int
else
} override fun oncreateviewholder(parent: viewgroup, viewtype: int): recyclerview.viewholder
else
} override fun getitemcount(
): int
override fun onbindviewholder(holder: recyclerview.viewholder, position: int)
else
if(footstate == 3)
else
if(footstate == 4)
}else
} fun setfootstate(state: int)
}然後adapter中的寫法就是一般的寫法了
class myadapter(val data : list): recyclerview.adapter()
override fun oncreateviewholder(parent: viewgroup, viewtype: int): myvh
override fun getitemcount(): int
override fun onbindviewholder(holder: recyclerview.viewholder, position: int) )
}else }}
}, 1000)}}
)}fun getdata()}
}
參考文章
iOS CollectionView 上拉載入更多
無例外,離不開強大的 mjrefresh,1.在.m檔案中 property nonatomic,assign nsinteger page 定義乙個變數,每次需要展示的資料個數,並且在頁面初始的時候賦值。我在 demo 中每次新增 4條資料,所以在 viewdidload 中賦值為 page 4 ...
recyclerView上拉載入,下拉重新整理
匯入jar包 實現介面 pullbaseview.onheaderrefreshlistener,pullbaseview.onfooterrefreshlistener 設定 mrecyclerview.setonheaderrefreshlistener this 設定下拉監聽mrecycler...
RecycleView新增下拉重新整理 上拉載入更多
在google的android.support.v4包中,提供乙個swiperefreshlayout方法,用於實現下拉重新整理,實現的過程也非常簡單,那我們先來看一下swiperefreshlayout是什麼東西,其實從名字上來看,它就是乙個重新整理布局,我們來看它的繼承結構圖 從上面的繼承結構可...