关闭

RecycleView ItemTouchHelper 学习(一)

121人阅读 评论(0) 收藏 举报
分类:

在 listview 的时候我们会碰到很多的上下拖动排序和左右滑动清除的开源库,在 RecycleView 上我们也能看到一些类似的库,然而令人欣喜的是官方给 RecycleView 提供了这么一个工具 – ItemTouchHelper 。这个工具可以很方便的帮助我们在 RecycleView 上完成上下拖动排序和左右滑动清除的功能。

我们先说下使用方法。一个简单的用法如下:

int dragFlags = ItemTouchHelper.UP | ItemTouchHelper.DOWN;
int swipeFlags = ItemTouchHelper.START | ItemTouchHelper.END;
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(new ItemTouchHelper.SimpleCallback(dragFlags,swipeFlags) {
    /**
     * 上下拖动排序
     * @param recyclerView
     * @param viewHolder
     * @param target
     * @return true 表示做了拖动处理
     */
    @Override
    public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
        // 交换 adapter 数据
        // 通知 adapter 更新视图
        return true;
    }
    /**
     * 左右滑动清除
     * @param viewHolder
     * @param direction
     */
    @Override
    public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
        // 删除数据
        // 通知 adapter 更新视图
    }
});
itemTouchHelper.attachToRecyclerView(recyclerView);

先写到这里,后面有时间补充。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:29581次
    • 积分:847
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:1篇
    • 译文:1篇
    • 评论:9条
    最新评论