RecyclerView侧滑删除功能

项目中须要实现侧滑删除功能,在git上搜到了yanzhenjie的SwipeRecyclerView库,感受很强大,支持 RecyclerView侧滑菜单,Item拖拽,滑动删除Item,自动加载更多,HeaderView,FooterView,Item分组黏贴等。java

项目地址:https://github.com/yanzhenjie/SwipeRecyclerViewgit

侧滑删除用法:github

一,引用库:ide

1,Gradle布局

compile 'com.yanzhenjie:recyclerview-swipe:1.1.2'

or2, Mavencode

<dependency>
  <groupId>com.yanzhenjie</groupId>
  <artifactId>recyclerview-swipe</artifactId>
  <version>1.1.2</version>
  <type>pom</type>
</dependency>

二,开始使用xml

1, 在xml中引用SwipeRecyclerView:继承

<com.yanzhenjie.recyclerview.swipe.SwipeMenuRecyclerView
    .../>

2,侧滑菜单实现ip

// 设置监听器。
swipeRecyclerView.setSwipeMenuCreator(mSwipeMenuCreator);

// 建立菜单:
SwipeMenuCreator mSwipeMenuCreator = new SwipeMenuCreator() {
    @Override
    public void onCreateMenu(SwipeMenu leftMenu, SwipeMenu rightMenu, int viewType) {
        SwipeMenuItem deleteItem = new SwipeMenuItem(mContext)
            ...; // 各类文字和图标属性设置。
        leftMenu.addMenuItem(deleteItem); // 在Item左侧添加一个菜单。

        SwipeMenuItem deleteItem = new SwipeMenuItem(mContext)
            ...; // 各类文字和图标属性设置。
        leftMenu.addMenuItem(deleteItem); // 在Item右侧添加一个菜单。
        
        // 注意:哪边不想要菜单,那么不要添加便可。
    }
};

3,设置菜单点击监听it

swipeMenuRecyclerView.setSwipeMenuItemClickListener(menuItemClickListener);

4,适配器就正常继承RecyclerView.Adapter<>就能够了,就是还按照以前的该怎么写就怎么写

5,搞定~

三,发现了一个弊端,就是侧滑的菜单只能在onCreateMenu中new出来,不能直接在布局中本身定义,这样就会有一些局限性,但愿能改进吧~

相关文章
相关标签/搜索