Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Twowayview在滚动时自动添加填充_Android_Android Recyclerview - Fatal编程技术网

Android Twowayview在滚动时自动添加填充

Android Twowayview在滚动时自动添加填充,android,android-recyclerview,Android,Android Recyclerview,我正在我的一个项目中使用。这是androids库的扩展。(具有垂直-水平交错、可扩展网格和列表视图等功能)。有时,网格视图中的项目在滚动时消失(即,每次滚动时自动添加填充,最后所有项目滚动到我们滚动的一侧)。这是一种随机行为,并非每次都会发生 看这个视频, 请在下面的链接中找到有关此问题的其他参考资料 这种自动填充问题主要发生在添加或删除带有新项的适配器时 请查找我在下面使用的带有属性的小部件 <org.lucasr.twowayview.TwoWayView android:id="@

我正在我的一个项目中使用。这是androids库的扩展。(具有垂直-水平交错、可扩展网格和列表视图等功能)。有时,网格视图中的项目在滚动时消失(即,每次滚动时自动添加填充,最后所有项目滚动到我们滚动的一侧)。这是一种随机行为,并非每次都会发生

看这个视频,

请在下面的链接中找到有关此问题的其他参考资料

这种自动填充问题主要发生在添加或删除带有新项的适配器时

请查找我在下面使用的带有属性的小部件

<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。有人遇到过这个问题吗?。如何解决此问题?

您是否尝试添加自定义onScrollListener,以便在其状态()超出预期范围时进行更正。getTargetScrollPosition()可能超出预期范围?

我正在通过

首先,您必须使用双向视图库的代码,而不是jar

  • 打开库的布局文件夹
  • 浏览包org.lucasr.twowayview.widget
  • 打开BaseLayoutManager类
  • 跳到362号线
  • 您将发现代码为
  • 如果(固定点位置>0&(刷新车道| | |!恢复车道)) {

    用这一行替换这一行

    如果(AnchorTemposition>0&&refreshingLanes&&restoringLanes){ BaseLayoutManager类中的上述更改对我来说是解决上述问题的一种方法


    希望这将有助于所有双向视图用户。

    这不是答案。请对问题添加注释。没有足够的代表可以这样做。我找到了解决此问题的方法,请参阅;此更改已合并到原始项目的一个分支中。请由或其签出该分支。使用此分支而不是原始分支,您可以编译并获得带有修复的jar而不是管理自己项目中的所有源代码。