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出來,不能直接在佈局中本身定義,這樣就會有一些侷限性,但願能改進吧~

相關文章
相關標籤/搜索