应该是和我遇到的问题一样了,因为在onBindViewHolder()给item设置个随机的高度,滑动过程中一直走onBindViewHolder()方法在重新给item设置高度,所以才会换位置。 定义一个集合存储高度 private List<Integer> mHeights; 在onBindViewHolder()中 if (mHeights.size() <= position) { mHeights.add((int) (100 + Math.random() * 300)); } StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams)holder.lay.getLayoutParams(); layoutParams.height = mHeights.get(position); holder.lay.setLayoutParams(layoutParams); 原址: http://www.jianshu.com/p/402466ae7b15
[quote=引用 12 楼 windows771053651 的回复:] [quote=引用 10 楼 u013290250 的回复:] [quote=引用 9 楼 windows771053651 的回复:] 找了一天才在别人博客上找到了解决方案,希望能帮到你: http://46aae4d1e2371e4aa769798941cef698.devproxy.yunshipei.com/sinat_21693123/article/details/50317399
[quote=引用 10 楼 u013290250 的回复:] [quote=引用 9 楼 windows771053651 的回复:] 找了一天才在别人博客上找到了解决方案,希望能帮到你: http://46aae4d1e2371e4aa769798941cef698.devproxy.yunshipei.com/sinat_21693123/article/details/50317399
[quote=引用 9 楼 windows771053651 的回复:] 找了一天才在别人博客上找到了解决方案,希望能帮到你: http://46aae4d1e2371e4aa769798941cef698.devproxy.yunshipei.com/sinat_21693123/article/details/50317399
找了一天才在别人博客上找到了解决方案,希望能帮到你: http://46aae4d1e2371e4aa769798941cef698.devproxy.yunshipei.com/sinat_21693123/article/details/50317399
80,359
社区成员
91,290
社区内容
加载中
试试用AI创作助手写篇文章吧