如果使用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)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)