Как я могу использовать FirestorePagingAdapter для RecyclerView в NestedScrollView

Я использую 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

Добавьте код, который вы пробовали @ShubhamSardar

Raj 25.07.2018 17:14

@Raj Я добавил код. Подскажите, пожалуйста, сможете ли вы помочь.

Shubham Sardar 26.07.2018 08:22
0
2
133
0

Другие вопросы по теме