0

ネストされたスクロールビュー内に3つのリサイクルビューがあり、ネストされたスクロールビューの外にいるかのように3番目のリサイクルを維持する必要があります。リサイクル機能がないことを除けば、すべてうまくいきます。

ここに私のxmlがあります:

        <android.support.v4.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/scroll_discovery"
        android:fillViewport="true"
        android:fitsSystemWindows="true"
        >
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            >
            <android.support.v7.widget.RecyclerView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:id="@+id/category_recycler"/>
            <android.support.v7.widget.RecyclerView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/category_recycler"
                android:id="@+id/user_recycler"/>
            <android.support.v7.widget.RecyclerView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_below="@id/user_recycler"
                android:id="@+id/experiences"/>
        </RelativeLayout>
    </android.support.v4.widget.NestedScrollView>

ここにJava部分があります

experienceRecycler=(RecyclerView)findViewById(R.id.experiences);
    experienceRecycler.setHasFixedSize(true);
    mLayoutManager =new LinearLayoutManager(this) {
        @Override
        public boolean canScrollVertically() {
            return false;
        }
    };
    page= 1;
    experienceRecycler.setLayoutManager(mLayoutManager);
    experienceAdapter=new FeedCardAdapter(experiences,this,currentUser);
    experienceRecycler.setAdapter(experienceAdapter);
    /*experienceRecycler.addOnScrollListener(new RecyclerView.OnScrollListener() {
        @Override
        public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
            super.onScrollStateChanged(recyclerView, newState);
        }

        @Override
        public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
            super.onScrolled(recyclerView, dx, dy);
            feedCardAdapter.setScrolled(true);
        }
    });*/

    categoryRecycler=(RecyclerView)findViewById(R.id.category_recycler);
    categoryRecycler.setLayoutManager(new LinearLayoutManager(this){
        @Override
        public boolean canScrollVertically() {
            return false;
        }
    });
    categoryAdapter=new CategoryAdapter(this,categories);
    categoryRecycler.setHasFixedSize(true);
    categoryRecycler.setAdapter(categoryAdapter);

    userRecycler=(RecyclerView)findViewById(R.id.user_recycler);

    userRecycler.setLayoutManager(new LinearLayoutManager(this){
        @Override
        public boolean canScrollVertically() {
            return false;
        }
    });
    userAdapter=new UserAdapter(this,users);
    userRecycler.setAdapter(userAdapter);
    userRecycler.setHasFixedSize(true);
4

1 に答える 1