Android的RecyclerView实现列表拖动(移动顺序)交换数据位置

这篇具有很好参考价值的文章主要介绍了Android的RecyclerView实现列表拖动(移动顺序)交换数据位置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.先看效果图
这是拖动前的图片
android recyclerview 拖动排序,android,android,java,开发语言
这是拖动列表改变位置后的图片
android recyclerview 拖动排序,android,android,java,开发语言
这里放上视频演示

RecyclerView实现列表拖动交换数据位置

2.主活动MainActivity2类代码如下文章来源地址https://www.toymoban.com/news/detail-654509.html

import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.ItemTouchHelper;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.annotation.SuppressLint;
import android.os.Bundle;
import com.example.myapplication001.R;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class MainActivity2 extends AppCompatActivity {
   

    private HomeAdapter rv_1_homeAdapter;
    RecyclerView rv_1;
    LinearLayoutManager rv_1_Manager;
    ItemTouchHelper mItemTouchHelper;
    List<String> titles;

    @SuppressLint({
   "MissingInflatedId", "WrongViewCast"})
    @Override
    protected void onCreate(Bundle savedInstanceState) {
   
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        rv_1=findViewById(R.id.rv_1);

        titles = new ArrayList<>();
        for (int i = 0; i < 50; i++) {
   
            titles.add("中文"+i);
        }


        rv_1_homeAdapter = new HomeAdapter(getApplicationContext(),titles);
        rv_1_Manager=new LinearLayoutManager(getApplicationContext());
        //这里使用垂直滑动
        rv_1_Manager.setOrientation(LinearLayoutManager.VERTICAL);
        rv_1.setLayoutManager(rv_1_Manager);
        rv_1.setAdapter(rv_1_homeAdapter);

        //添加拖拽事件                                                                 longClickPosition:初始索引值            ActionUpPosition:结束索引值
        mItemTouchHelper = new ItemTouchHelper(new MyItemTouchHelper(this,titles,rv_1_homeAdapter,(longClickPosition, ActionUpPosition)-> {
   
            if (longClickPosition==-1)retur

到了这里,关于Android的RecyclerView实现列表拖动(移动顺序)交换数据位置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android RecyclerView之最基本使用教程完整示例(列表/分隔线/点击事件响应/水波纹特效等实现)

    前面几篇文章我们学了Listview的一些基本使用和面向实用优化性的一些进阶自定义用法。这篇文章开始学习RecyclerView,还是先从一个最简单的示例开始。 本篇文章我们将用RecyclerView实现如下效果图(实现一个带分隔线有点击事件的列表,类似Listview ArrayAdapter的示例)  Listvi

    2024年02月08日
    浏览(45)
  • Android 使用 RecyclerView 创建动态列表

    记录一下学习过程,RecyclerView 创建动态列表效果如下: Recyclerview 认识 Recyclerview 库: Recyclerview 指南: RecyclerView 可以显示大型数据集,通过回收有限数量的视图可以有效地滚动这些数据集,同时最大限度减少内存用量。 在实例化 ViewHolder 视图时可以定义单击侦听器。 Recy

    2023年04月27日
    浏览(43)
  • Android RecyclerView 之 列表宫格布局的切换

    RecyclerView 的使用我就不再多说,接下来的几篇文章主要说一下 RecyclerView 的实用小功能,包括 列表宫格的切换,吸顶效果,多布局效果等,今天这篇文章就来实现一下列表宫格的切换,效果如下 数据来源于知乎日报API,采用 okhttp+retrofit 组合方式请求获取,网络请求没有进行

    2024年02月10日
    浏览(46)
  • Android 仿快手视频列表,RecyclerView与Banner联动效果

    这是看到群里讨论过快手APP的一个观看他人视频列表的一个联动效果,但是并不是完全按照这个软件的效果来做的,只是参考,并不是完全仿照这个软件来做的,没时间去优化排版问题了,请见谅,如图: 实现效果如下: 效果视频:仿快手视频列表互动效果-CSDN直播  1.主函

    2024年01月18日
    浏览(41)
  • 基于GSYVideoPlayer自定义布局结合RecyclerView高仿抖音实现上下滑动双击屏幕点赞/单击暂停,拖动进度条实时改变时间以及进度条放大

    注意代码量有点多,但是你不要就此放弃,看效果图决定你需不需该需求😀并且代码好理解基本上都是基于GSYVideoPlayer的方法进行重写改造出来的,请放心食用 GSYVideoPlayer是一款开源并且强大的Android视频播放器方便你们阅读了GSYVideoPlayer更快速的上手GSYVideoPlayer框架地址 效果

    2024年02月03日
    浏览(135)
  • Android RecyclerView 实现瀑布流

    Android RecyclerView 使用大全 - 基础使用,item 动画,下拉刷新等 瀑布流也是个常用的显示控件了,但是在使用时经常遇到一些问题,比如滑动回顶部后出现空隙、item在滑动时乱跳等问题。 下面就来说说我怎么实现的瀑布流,并且怎么处理上面所说的这些问题的。 我使用了原生

    2024年02月09日
    浏览(68)
  • Android Recyclerview的item间距实现

    Recyclerview中,提供了一个方法 addItemDecoration 给我们用于设置item的分割线 下面提供几个常见的分割线效果 注: 下面的 SizeUtils 是AndroidUtilCode此库里的工具类,需要添加依赖,也可以自行修改封装的方法(主要是将dp单位转为px) 以下代码已封装在我的库中stars-one/XAndroidUtil: 封装自己常

    2024年02月05日
    浏览(58)
  • Android 无限循环RecyclerView的完美实现方案

    方案1 对Adapter进行修改 网上大部分博客的解决方案都是这种方案,对Adapter做修改。具体如下 首先,让 Adapter 的 getItemCount() 方法返回 Integer.MAX_VALUE,使得position数据达到很大很大; 其次,在 onBindViewHolder() 方法里对position参数取余运算,拿到position对应的真实数据索引,然后对

    2024年01月23日
    浏览(46)
  • Android PopupWindow+RecyclerView 实现二级联动筛选

    这篇文章主要的功能是利用 PopupWindow 和  RecyclerView 实现条件筛选包括二级联动筛选,主要是仿小红书里的筛选功能而写的一个 Demo 效果如下,代码通俗易懂,保姆级教程 这里我模拟实际接口返回的数据而准备的数据源,在工程目录下新建 assets 资源文件,在新建一个JsonDat

    2024年02月13日
    浏览(70)
  • 在WPF应用中使用GongSolutions.WPF.DragDrop实现列表集合控件的拖动处理

    WPF应用中,控件本身也可以通过实现事件代码实现拖动的处理,不过如果我们使用GongSolutions.WPF.DragDrop来处理,事情会变得更加简单轻松,它支持很多控件的拖动处理,如ListBox, ListView, TreeView, DataGrid等源自ItemsControl的控件,本篇随笔介绍在工作流模块中拖动TreeView和DataGrid列表

    2024年02月05日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包