tôi cần phải làm của tôi RecyclerView
Chỉ tải 10 mục và sau khi cuộn tải thêm 10 mục và hoạt động như thế này.
tôi sử dụng bóng chuyền
Thêm các mục trong một mảng.
đây là của tôi RecyclerView
bộ chuyển đổi.
lớp newsAdapter constructor(private val activety:MainActivity, Private val ListOfCash:ArrayList,
val người nghe:BTNListener): RecyclerView.Adapter(),BTNListener {
ghi đè getItemCount() thú vị: Int = ListOfCash.size
ghi đè niềm vui onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
return ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.news_tick, parent, false))
}
ghi đè niềm vui onBindViewHolder(holder: ViewHolder, location: Int) {
hold.bind(ListOfCash[position], người nghe, ListOfCash)
}
lớp bên trong ViewHolder(itemView: View?): RecyclerView.ViewHolder(itemView) {
fun bind(Dữ liệu: newsModling, Listen: BTNListener, listOfnew: ArrayList) {
var ListOfnewsin = listOfnew[adapterPosition]
var newstitle = ListOfnewsin.title
var newsdate = ListOfnewsin.date
itemView.newsDate.text = newsdate
itemView.newsTitle.text = newstitle
itemView.setOnClickListener{
//var cashSTR = cashNumIn.toString()
}
}
}
}
Tôi không biết, tôi phải sử dụng cái gì hoặc nhập nó vào đâu.
Hãy thử trình nghe cuộn này với Recyclerview
được sử dụng cùng nhau.
Đặt logic của bạn vào Tải thêm mục để tải thêm mục.
Nếu không có mục nào để tải,
isLastPage
sẽ trở lại đúng sự thật.
isLoading
Đúng khi bạn lấy dữ liệu, sai khi bạn lấy dữ liệu.
nhập android.support.v7.widget.LinearLayoutManager
nhập android.support.v7.widget.RecyclerView
/**
* Lớp phân trang để thêm nhiều mục vào danh sách khi đến mục cuối cùng.
*/
lớp trừu tượng PaginationScrollListener
/**
* Hiện chỉ hỗ trợ LinearLayoutManager.
*
* @param trình quản lý bố cục
*/
(var LayoutManager: LinearLayoutManager): RecyclerView.OnScrollListener() {
niềm vui trừu tượng isLastPage(): Boolean
niềm vui trừu tượng isLoading(): Boolean
ghi đè fun onScrolled(recyclerView: RecyclerView?, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
val có thể nhìn thấyItemCount = bố cụcManager.childCount
val TotalItemCount = bố cụcManager.itemCount
val firstVisibleItemPosition = bố cụcManager.findFirstVisibleItemPosition()
if (!isLoading() && !isLastPage()) {
if (visibleItemCount + firstVisibleItemPosition >= TotalItemCount && firstVisibleItemPosition >= 0) {
tảiMoreItems()
}// && TotalItemCount >= ClothesFragment.itemsCount
}
}
trừu tượng vui vẻ tảiMoreItems()
}
Thêm cái này vào của bạnRecyclerview
var isLastPage: Boolean = false
var isLoading: Boolean = false
RecyclerView?.addOnScrollListener(object : PaginationScrollListener(your_layoutManager) {
ghi đè niềm vui isLastPage(): Boolean {
trả về isLastPage
}
ghi đè niềm vui isLoading(): Boolean {
trở về đang tải
}
ghi đè vui vẻ tảiMoreItems() {
isLoading = đúng
//bạn phải gọi các mục Loadmore để lấy thêm dữ liệu
getMoreItems()
}
})
vui vẻ getMoreItems() {
// sau khi tìm nạp dữ liệu của bạn, giả sử bạn đã tìm nạp danh sách trong
// bộ điều hợp Recyclerview giả sử bộ điều hợp Recyclerview của bạn là
//rvAdapter
sau khi nhận được dữ liệu, bạn phải gán sai cho isLoading
Đang tải = sai
rvAdapter.addData(danh sách)
}
bây giờ trong của bạn Recyclerview
Thêm các phương pháp sau vào bộ chuyển đổi.
Đây là danh sách được cung cấp trong bộ chuyển đổi của bạn Recyclerview
danh sách.
Đảm bảo Recyclerview
trong danh sách khởi tạo.
thú vị addData(listItems: ArrayList) {
kích thước var = this.listItems.size
this.listItems.addAll(listItems)
var sizeNew = this.listItems.size
thông báoItemRangeChanged(size, sizeNew)
}
Tôi là một lập trình viên xuất sắc, rất giỏi!