cuốn sách gpt4 ai đã làm

android - kotlin RecyclerXem phân trang

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 12:44:23 27 4
mua khóa gpt4 Nike

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.

câu trả lời hay nhất

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)
}

Về phân trang android - kotlin RecyclerView, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/51433106/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress