gpt4 book ai didi

java - Recyclerview 中已经设置了 OnFlingListener 的一个实例

转载 作者:IT老高 更新时间:2023-10-28 23:17:34 25 4
gpt4 key购买 nike

我在我的 Android 应用中使用了 RecyclerView。我的 RecyclerView 中有很多卡片 View ,因此一次只向用户显示 1 个卡片 View 。用户必须滑动才能看到下一张卡片。

我遇到了一个问题,当用户滑动时,recyclerview 会滚动到最后。相反,我需要的是当用户滑动时,向用户显示下一张卡片,如本文所述。

How to make swipe on horizontal recyclerview bring only the next item into view - Android

SnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(recyclerView);

我尝试了上面链接中提到的答案。但是当用户滑动时我遇到了一个异常。

请帮我解决。

错误

java.lang.IllegalStateException: An instance of OnFlingListener already set.
at android.support.v7.widget.SnapHelper.setupCallbacks(SnapHelper.java:114)
at android.support.v7.widget.SnapHelper.attachToRecyclerView(SnapHelper.java:102)
at com.abc.ui.trm.TrCard.setupCardView(TrCard.java:62)
at com.abc.ui.trm.TrCard.setupCardView(TrCard.java:29)
at com.abc.ui.core.card.BaseCardView.processCardView(BaseCardView.java:134)
at com.abc.ui.card.CardRecyclerAdapter.onViewAttachedToWindow(CardRecyclerAdapter.java:398)
at android.support.v7.widget.RecyclerView.dispatchChildAttached(RecyclerView.java:6758)
at android.support.v7.widget.RecyclerView$5.addView(RecyclerView.java:696)
at android.support.v7.widget.ChildHelper.addView(ChildHelper.java:107)
at android.support.v7.widget.RecyclerView$LayoutManager.addViewInt(RecyclerView.java:7697)
at android.support.v7.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:7655)
at android.support.v7.widget.RecyclerView$LayoutManager.addView(RecyclerView.java:7643)
at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1539)
at android.support.v7.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1488)
at android.support.v7.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:585)
at android.support.v7.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:3506)
at android.support.v7.widget.RecyclerView.dispatchLayout(RecyclerView.java:3254)
at android.support.v7.widget.RecyclerView.onLayout(RecyclerView.java:3767)
at android.view.View.layout(View.java:18799)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at com.abc.ui.core.refresh.LegacySwipeRefreshLayout.onLayout(LegacySwipeRefreshLayout.java:337)
at android.view.View.layout(View.java:18799)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:18799)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1079)
at android.view.View.layout(View.java:18799)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:18799)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:18799)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:1193)
at android.view.View.layout(View.java:18799)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:18799)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1741)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1585)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1494)
at android.view.View.layout(View.java:18799)
at android.view.ViewGroup.layout(ViewGroup.java:5952)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:822)
at android.view.View.layout(View.java:18799)
at android.view.ViewGroup.layout(ViewGroup.java:5952)

最佳答案

我设法通过添加这一行来解决这个问题

recyclerView.setOnFlingListener(null); 

之前

snapHelper.attachToRecyclerView(recyclerView);

关于java - Recyclerview 中已经设置了 OnFlingListener 的一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44043501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com