我在我的一个项目中使用Twowayview。这是androids Recyclerview库的扩展。 (具有垂直水平交错,可跨越网格和列表视图等功能)。有时滚动时gridview中的项目会消失(即,每次滚动时自动添加填充,并且所有项目滚动到我们滚动的那一侧)。这是一种没有经历过的随机行为。
观看此视频,Recyclerview scroll issue
请在下面的链接中找到有关此问题的其他参考资料,
这种自动填充问题主要发生在我们使用新项目添加或删除适配器时。
请使用属性
找到我在下面使用过的小部件<org.lucasr.twowayview.TwoWayView
android:id="@+id/spannable_grid"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animationCache="false"
android:scrollbarAlwaysDrawHorizontalTrack="false"
android:scrollbarSize="0px"
android:scrollbars="none"
android:scrollingCache="false"
app:layoutManager="SpannableGridLayoutManager"
app:numColumn="6"
app:numRow="6" />
我找到了一些解决方案,比如从Twowayview,CliptoPadding等删除填充。但这些都不适合我。我使用的是Recyclerview版本21.0.0。有人遇到过这个问题吗?如何解决这个问题?
答案 0 :(得分:5)
我正在通过Ish
重新发布答案首先,你必须使用TwoWay-View库的代码而不是jar。
if(anchorItemPosition&gt; 0&amp;&amp;(refreshLanes ||!restoringLanes)) {
用这一行替换这一行
if(anchorItemPosition&gt; 0&amp;&amp; refreshLanes&amp;&amp;!restoringLanes){ BaseLayoutManager类的上述更改对我来说是一个解决上述问题的方法。
希望这会对所有TwoWay-View用户有所帮助。
答案 1 :(得分:0)
您是否尝试添加自定义onScrollListener以在其State()。getTargetScrollPosition()可能超出预期范围时更正它?