棉花糖(23)+ RecyclerView(23.1.0)在删除项目后滚动混乱上面的内容(notifyItemRemoved)

时间:2015-10-29 00:37:28

标签: android android-recyclerview android-6.0-marshmallow

Marshmallow (Android 23)如果使用RecyclerView构建,则会搞砸。

我使用RecyclerView填充了项目列表,向右滑动将删除该项目。删除该项目工作正常。 但是在删除项目后向上滚动android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { applicationId "com.support.android.designlibdemo" minSdkVersion 9 targetSdkVersion 23 versionCode 1 versionName "1.0" } } ,会在删除项目上方的项目上创建空白区域。

我在这里使用示例项目this recipe和最新的Android版本(Marshmallow)

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 22com.android.support:recyclerview-v7:22.2.0import requests from bs4 import BeautifulSoup url = 'http://examplewebsite.com' source = requests.get(url) content = source.content soup = BeautifulSoup(source.content, "html.parser") # Now I navigate the soup for a in soup.findAll('a'): print a.get("href")

,则一切正常

请检查:https://github.com/chrisbanes/cheesesquare

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

1 个答案:

答案 0 :(得分:3)

我也遇到过这个问题。它似乎只是支持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