RecycleView ItemTouchHelper 学习(一

2017-01-03  本文已影响53人  Xander_Wang

在 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);

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

上一篇下一篇

猜你喜欢

热点阅读