1.先看效果图
这是拖动前的图片
这是拖动列表改变位置后的图片
这里放上视频演示
RecyclerView实现列表拖动交换数据位置文章来源:https://www.toymoban.com/news/detail-654509.html
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模板网!