Я использую FirestorePagingAdapter для получения документов из Firestore. Все идеально, но «Загрузить еще» происходит автоматически, не доходя до конца списка. Это вызывает резкое поведение.
Я поместил свой RecyclerView (Height: обернуть содержимое) в NestedScrollView (Height: match-parent), который является содержимым моего основного макета прокрутки.
Есть ли способ загрузить больше элементов, только когда я прокручиваю до последнего элемента.
<android.support.v4.widget.NestedScrollView xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
app:layout_behavior = "@string/appbar_scrolling_view_behavior"
tools:context = ".NewLookCode.activities.MainScrollingActivity"
tools:showIn = "@layout/activity_main_scrolling">
<LinearLayout
android:layout_width = "match_parent"
android:orientation = "vertical"
android:layout_height = "match_parent">
<android.support.v7.widget.RecyclerView
android:id = "@+id/rv_transporters"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:nestedScrollingEnabled = "false"
android:padding = "10dp"
android:visibility = "visible" />
</LinearLayout>
val baseQuery = FirebaseFirestore.getInstance().collection("partners")
val config = PagedList.Config.Builder()
.setEnablePlaceholders(true)
.setPrefetchDistance(2)
.setPageSize(6)
.build()
val options = FirestorePagingOptions.Builder<PartnerInfoPojo>()
.setLifecycleOwner(this)
.setQuery(baseQuery, config, PartnerInfoPojo::class.java)
.build()
adapter = object:FirestorePagingAdapter<PartnerInfoPojo, PartnersViewHolder>(options) {
@NonNull
override fun onCreateViewHolder(@NonNull parent: ViewGroup, viewType:Int):PartnersViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_new_transporter, parent, false)
return PartnersViewHolder(view)
}
override fun onBindViewHolder(@NonNull holder:PartnersViewHolder,
position:Int,
@NonNull model:PartnerInfoPojo) {
holder.mCompany.text = model.getmCompanyName()
if (model!=null){
if (model.getmCompanyAdderss()!=null)
holder.mAddress.text = model.getmCompanyAdderss().city
}
}
}
rv_transporters.layoutManager = LinearLayoutManager(this)
rv_transporters.adapter = adapter
@Raj Я добавил код. Подскажите, пожалуйста, сможете ли вы помочь.
Добавьте код, который вы пробовали @ShubhamSardar