發表文章

目前顯示的是有「滑動」標籤的文章

RecyclerView 使用ItemTouchHelper實現滑動刪除、拖移改變順序效果

圖片
前置作業創建RecyclerView、Adapter我這邊就不贅述了 直接進入主題 我們會使用到 ItemTouchHelper工具類別 官方解釋:這是一個實用工具類,用於添加滑動以關閉和拖放支持到RecyclerView。 這是一個支持RecyclerView滑動刪除和拖拽的實用工具類 如何使用: SimpleCallback建立時,需要指定想要支援的拖拉(move)與swipe的方向,在此範例我們讓他可以上下拖拉跟左右swipe(或用START、END,則可支援右到左方向的排列), 而主要需要實作的函式有分別對應到拖拉與swipe的 onMove 與 onSwipe 。 private void setUpRecyclerView() { adapter = new ContactAdapter(options); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(adapter); // 實現拖移、左右滑動刪除的效果 new ItemTouchHelper(new ItemTouchHelper.SimpleCallback( ItemTouchHelper.UP | ItemTouchHelper.DOWN, ItemTouchHelper.RIGHT | ItemTouchHelper.LEFT) { @Override public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder viewHolder1) { // 上下拖移callback return false; } @Override