android - NestedScrollView के भीतर RecyclerView के लिए पृष्ठ पर अंक लगाना काम नहीं करता है




pagination android-recyclerview (2)

NestedScrollView भीतर होने वाले recyclerview के NestedScrollView को कैसे लागू करें?


इस चरण का पालन करें:

1. सेट नेस्टेड स्क्रॉलिंग पुनर्नवीनीकरण दृश्य के झूठे सक्षम बनाता है।

recyclerView.setNestedScrollingEnabled(false);

2. स्क्रॉल स्क्रॉलर को नेस्टेड स्क्रॉलव्यू में जोड़ें।

 mScrollView.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
           @Override
           public void onScrollChanged()
           {
                    View view = (View)mScrollView.getChildAt(mScrollView.getChildCount() - 1);

                    int diff = (view.getBottom() - (mScrollView.getHeight() + mScrollView
                                    .getScrollY()));

                    if (diff == 0) {
                       // your pagination code
                    }
           }
  });

मैं समाधान सेटिंग OnScrollChangeListener को nestedScrollView में प्राप्त कर सकता nestedScrollView

फ़ील्ड को पूरी तरह से बदल दिया जाना चाहिए, यदि आप रेट्रोफिट का उपयोग कर रहे हैं, तो आइटम को लोड करना चाहिए। response या failure मिलने पर आप इसे चलाना शुरू करने से पहले और इसे false failure

फ़ील्ड को isLastPage को आइटम मिलने पर हर बार बदला जाना चाहिए और isLastPage चाहिए कि क्या यह पृष्ठ अंतिम था।

मैं कोटलिन का उपयोग कर रहा हूं।

private var isLoading = false

private var isLastPage = false

nestedScrollView.setOnScrollChangeListener { v: NestedScrollView?, scrollX: Int, scrollY: Int, oldScrollX: Int, oldScrollY: Int ->

            val nestedScrollView = checkNotNull(v){
                return@setOnScrollChangeListener
            }

            val lastChild = nestedScrollView.getChildAt(nestedScrollView.childCount - 1)

            if (lastChild != null) {

                if ((scrollY >= (lastChild.measuredHeight - nestedScrollView.measuredHeight)) && scrollY > oldScrollY && !isLoading && !isLastPage) {

                    //get more items
                }
            }
        }

और निश्चित रूप से आपको फ़ील्ड सेट करने की आवश्यकता है isNestedScrollingEnabled false रूप में

myRecyclerView.isNestedScrollingEnabled = false




android-nestedscrollview