Android SwipeRefreshLayout停止循环查看滚动

Android SwipeRefreshLayout停止循环查看滚动,android,swiperefreshlayout,Android,Swiperefreshlayout,我在SwipeRefreshLayout中有一个组水平RecycleViews,我在页面开始处滑动RecycleViews时遇到问题,因为它不断停止并检测到刷新滑动 如何阻止这种情况发生 或者只有在不刷卡的情况下才有办法触发刷新 另外,这是实现我想要的布局的最佳方式吗 <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/activity_main_swipe_refresh_layout" andro

我在
SwipeRefreshLayout
中有一个组水平
RecycleViews
,我在页面开始处滑动
RecycleViews
时遇到问题,因为它不断停止并检测到刷新滑动

如何阻止这种情况发生

或者只有在不刷卡的情况下才有办法触发刷新

另外,这是实现我想要的布局的最佳方式吗

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

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginBottom="70dp"
                android:isScrollContainer="false"
                android:orientation="vertical">


                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="@drawable/block_border"
                    android:orientation="vertical">

                    <TextView
                        android:id="@+id/trending_episodes_title"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content" />

                    <!--This is the first affected recycle  -->

                    <android.support.v7.widget.RecyclerView
                        android:id="@+id/trendingEpisodesRecycle"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:clipToPadding="false"
                        android:orientation="horizontal" />

                </LinearLayout>


                <!--This is the Second affected recycle  -->

                <android.support.v7.widget.RecyclerView
                    android:id="@+id/allNewsRecycle"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/title_top"
                    android:clipToPadding="false"
                    android:orientation="horizontal" />

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:background="@drawable/block_border"
                    android:orientation="vertical">

                    <TextView
                        android:id="@+id/moods_title"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"

                        android:layout_marginTop="@dimen/title_top"
                        android:textColor="@color/colorBlack"
                        android:textSize="20sp"
                        android:textStyle="bold" />

                    <android.support.v7.widget.RecyclerView
                        android:id="@+id/moodsRecycle"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:clipToPadding="false"
                        android:orientation="horizontal" />

                </LinearLayout>
            </LinearLayout>
        </RelativeLayout>
    </ScrollView>
</android.support.v4.widget.SwipeRefreshLayout>

好的,所以我解决了这个问题,在触摸RecycleView时禁用SwiperFreshLayout,一旦用户放开RecycleView,就重新启用它

下面是我的程序中的代码:

        MyRecycleView.addOnScrollListener(new RecyclerView.OnScrollListener() {

            @Override
            public void onScrollStateChanged(final RecyclerView recyclerView, int newState)
            {

                super.onScrollStateChanged(recyclerView,newState);
                if (newState != RecyclerView.SCROLL_STATE_IDLE) { // on scroll stop
                    mSwipeRefreshLayout.setEnabled(false);
                }
                else
                {
                    mSwipeRefreshLayout.setEnabled(true);
                }

            }
}

好的,我解决了这个问题,在触摸RecycleView时禁用SwipeRefreshLayout,一旦用户放开RecycleView,就重新启用它

下面是我的程序中的代码:

        MyRecycleView.addOnScrollListener(new RecyclerView.OnScrollListener() {

            @Override
            public void onScrollStateChanged(final RecyclerView recyclerView, int newState)
            {

                super.onScrollStateChanged(recyclerView,newState);
                if (newState != RecyclerView.SCROLL_STATE_IDLE) { // on scroll stop
                    mSwipeRefreshLayout.setEnabled(false);
                }
                else
                {
                    mSwipeRefreshLayout.setEnabled(true);
                }

            }
}