如何设置recyclerView项目不可点击但滚动启用

时间:2017-10-13 08:38:03

标签: java android xml android-recyclerview

我使用RecyclerView实现了SwipeRefreshLayout。我想要这个,因为我的RecyclerView只显示一个小按钮,在可点击的Cardview内。如果有时设置禁用点击和滚动启用。试试下面的代码,但没有工作,请帮助我。 我尝试了以下Java代码:

 myRecyclerView.setEnabled(false);
 myRecyclerView.setClickable(false);

XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                xmlns:app="http://schemas.android.com/apk/res-auto"
                android:orientation="vertical">
     <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="70"
            android:layout_marginBottom="80dp"
            android:orientation="vertical">
            <android.support.v4.widget.SwipeRefreshLayout
                android:id="@+id/simpleSwipeRefreshLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
                <android.support.v7.widget.RecyclerView
                    android:id="@+id/e_helptoolrecycler"
                    android:layout_width="match_parent"
                    android:clickable="false"
                    android:focusable="false"
                    android:scrollbars="vertical"
                    android:nestedScrollingEnabled="true"
                    android:isScrollContainer="true"
                    android:longClickable="false"
                    android:layout_height="wrap_content"
                    app:stackFromEnd ="true" >
                </android.support.v7.widget.RecyclerView>
            </android.support.v4.widget.SwipeRefreshLayout>
        </LinearLayout>
</RelativeLayout>

并尝试java文件:

myRecyclerView .addOnItemTouchListener(new    RecyclerView.OnItemTouchListener() {
                    @Override
                    public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
                        return true;
                    }

                   @Override
                    public void onTouchEvent(RecyclerView rv, MotionEvent e) {


                    }
                    @Override
                    public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {

                    }

                }); 

这种方法试试吧。但是当Recyclerview禁用时会出现一些问题。我的问题只是禁用按钮。滚动将启用。

0 个答案:

没有答案