如果使用Marshmallow(Android 23)构建,RecyclerView会搞砸.
我使用RecyclerView填充项目列表,当向右滑动将删除该项目.删除该项目工作正常.
但是在删除项目后向上滚动RecyclerView会在删除的项目上方的项目上创建空白区域.
我在这里使用示例项目https://github.com/chrisbanes/cheesesquare与最新的Android版本(Marshmallow)
android {
compileSdkVersion 23
buildToolsVersion "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);
}
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