android–Marshmallow(23)RecyclerView(23.1.0)在删除项目后滚动搞乱上面的内容(notifyItemRemoved)

android–Marshmallow(23)RecyclerView(23.1.0)在删除项目后滚动搞乱上面的内容(notifyItemRemoved),第1张

概述如果使用Marshmallow(Android 23)构建,RecyclerView会搞砸.我使用RecyclerView填充项目列表,当向右滑动将删除该项目.删除该项目工作正常.但是在删除项目后向上滚动RecyclerView会在删除的项目上方的项目上创建空白区域.我在这里使用示例项目https://github.com/chrisbanes/cheese

如果使用Marshmallow(Android 23)构建,RecyclerVIEw会搞砸.

我使用RecyclerVIEw填充项目列表,当向右滑动将删除该项目.删除该项目工作正常.
但是在删除项目后向上滚动RecyclerVIEw会在删除的项目上方的项目上创建空白区域.

我在这里使用示例项目https://github.com/chrisbanes/cheesesquare与最新的AndroID版本(Marshmallow)

androID {compileSdkVersion 23buildToolsversion "23.0.1"defaultConfig {    applicationID "com.support.androID.designlibdemo"    minSdkVersion 9    targetSdkVersion 23    versionCode 1    versionname "1.0" }}

并添加滑动以关闭代码

private voID setItemdismiss(final RecyclerVIEw recyclerVIEw) {    itemtouchhelper.SimpleCallback simpleCallback = new itemtouchhelper.SimpleCallback(itemtouchhelper.RIGHT,itemtouchhelper.RIGHT) {        @OverrIDe        public boolean onMove(RecyclerVIEw recyclerVIEw,RecyclerVIEw.VIEwHolder vIEwHolder,RecyclerVIEw.VIEwHolder target) {            return false;        }        @OverrIDe        public voID onSwiped(RecyclerVIEw.VIEwHolder vIEwHolder,int direction) {            int position = vIEwHolder.getAdapterposition();            ((SimpleStringRecyclerVIEwAdapter)recyclerVIEw.getAdapter()).removeItemAt(position);        }    };    itemtouchhelper itemtouchhelper = new itemtouchhelper(simpleCallback);    itemtouchhelper.attachToRecyclerVIEw(recyclerVIEw);}

适配器具有removeItemAt方法以删除项目

public voID removeItemAt(int position) {        mValues.remove(position);        notifyItemRemoved(position);    }

如果compileSdkVersion 22和targetSdkVersion 22与com.androID.support:recyclervIEw-v7:22.2.0一切正常

检查:https://www.youtube.com/watch?v=AbiFzDzFwjo&feature=youtu.be

如果有人有这个问题,请告诉我.

最佳答案我也遇到过这个问题.它似乎只是支持lib 23.1.0的一个问题.我没有遇到使用com.androID.support:recyclervIEw-v7:23.0.1的问题.我已将此错误提交给Google https://code.google.com/p/android/issues/detail?id=191960

看起来修复工作正在进行中:https://code.google.com/p/android/issues/detail?id=190500 总结

以上是内存溢出为你收集整理的android – Marshmallow(23)RecyclerView(23.1.0)在删除项目后滚动搞乱上面的内容(notifyItemRemoved)全部内容,希望文章能够帮你解决android – Marshmallow(23)RecyclerView(23.1.0)在删除项目后滚动搞乱上面的内容(notifyItemRemoved)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1139242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存