Android 在SwipeRefreshLayout内部使用RecyclerView时,底部的过卷效果不会出现

Android 在SwipeRefreshLayout内部使用RecyclerView时,底部的过卷效果不会出现,android,android-recyclerview,swiperefreshlayout,android-overscoll,Android,Android Recyclerview,Swiperefreshlayout,Android Overscoll,我正试图用漂亮的pull to refresh功能制作一个列表,但是当我在SwipeRefreshLayout中有一个RecyclerView时,overscroll效果只有在刷新时才起作用。即使是在名单的末尾。发生的情况是,用户没有列表结束的视觉提示 以下是我的XML: <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe_refresh" android:layout_width="ma

我正试图用漂亮的pull to refresh功能制作一个列表,但是当我在SwipeRefreshLayout中有一个RecyclerView时,overscroll效果只有在刷新时才起作用。即使是在名单的末尾。发生的情况是,用户没有列表结束的视觉提示

以下是我的XML:

<android.support.v4.widget.SwipeRefreshLayout
    android:id="@+id/swipe_refresh"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_vew"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>

</android.support.v4.widget.SwipeRefreshLayout>

当recyclerview达到其顶部位置时,可以启用刷新。这能解决你的问题吗

    rv.addOnScrollListener(new RecyclerView.OnScrollListener() {


        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);

            try {

                LinearLayoutManager layoutManager = ((LinearLayoutManager) rv.getLayoutManager());
                int firstVisiblePosition = layoutManager.findFirstVisibleItemPosition();


                Log.e("refresh", "State - " + newState + " : firstVisiblePosition" + firstVisiblePosition);
                if (firstVisiblePosition == 0)
                    pullToRefresh.setEnabled(true);
                else
                    pullToRefresh.setEnabled(false);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
});

你所说的“过卷”是什么意思。请您解释一下,或者提供一张图片来回答您试图实现的目标的问题好吗?@Pranav,
pullToRefresh
请参考ya???@ken pullToRefresh是SwipeRefreshLayout的目标。
    rv.addOnScrollListener(new RecyclerView.OnScrollListener() {


        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);

            try {

                LinearLayoutManager layoutManager = ((LinearLayoutManager) rv.getLayoutManager());
                int firstVisiblePosition = layoutManager.findFirstVisibleItemPosition();


                Log.e("refresh", "State - " + newState + " : firstVisiblePosition" + firstVisiblePosition);
                if (firstVisiblePosition == 0)
                    pullToRefresh.setEnabled(true);
                else
                    pullToRefresh.setEnabled(false);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
});