DragNDropList-带拖动排序功能的ListView.zip

时间:2022-10-13 21:53:59
【文件属性】:

文件名称:DragNDropList-带拖动排序功能的ListView.zip

文件大小:859KB

文件格式:ZIP

更新时间:2022-10-13 21:53:59

开源项目

带拖动排序功能的ListView。比起DragSortListView来这个要简陋很多,不过可以从这个项目上学到drag功能的最基本实现方法。适合学习。项目地址:https://github.com/terlici/DragNDropList 效果图:使用说明:xml<?xml version="1.0" encoding="utf-8"?>      item 布局DragNDropListView的每个item都有一个处理拖动的drag handler。下面是一个普通的item布局,他包含了一个星星图像的ImageView以及一个textView,用户触摸星星的时候就可以开始拖动排序。<?xml version="1.0" encoding="utf-8"?>           adapter的设置普通的ListView是如下设置adapter的:ListView list = (ListView)findViewById(android.R.id.list); SimpleCursorAdapter adapter = new SimpleCursorAdapter(context,                         R.layout.row,                         cursor,                         new String[]{"text"},                         new int[]{R.id.text},                         0); list.setAdapter(adapter);而在DragNDropListView中SimpleCursorAdapter需要替换成DragNDropCursorAdapter同时将draghandler的id作为DragNDropCursorAdapter的最后一个参数。在上面的布局中这参数的值就是R.id.handler。最后setAdapter替换成setDragNDropAdapter。DragNDropListView list = (DragNDropListView)findViewById(android.R.id.list); DragNDropCursorAdapter adapter = new DragNDropCursorAdapter(context,                            R.layout.row,                            cursor,                            new String[]{"text"},                            new int[]{R.id.text},                            R.id.handler); list.setDragNDropAdapter(adapter);事件DragNDropListView为拖动提供了监听者list.setOnItemDragNDropListener(...)该监听有如下接口public interface OnItemDragNDropListener {     // Called when the item begins dragging.     public void onItemDrag(DragNDropListView parent, View view, int position, long id);     // Called after the item is dropped in place     public void onItemDrop(DragNDropListView parent, View view, int startPosition, int endPosition, long id); }demohttps://github.com/terlici/DragNDropListApp 


【文件预览】:
DragNDropList-master
----res()
--------values()
--------layout()
----proguard-project.txt(781B)
----LICENSE(11KB)
----.settings()
--------org.eclipse.jdt.core.prefs(173B)
----src()
--------com()
----.project(816B)
----.classpath(466B)
----.gitignore(12B)
----project.properties(584B)
----README.md(5KB)
----AndroidManifest.xml(310B)
----build.gradle(660B)
----libs()
--------android-support-v4.jar(972KB)

网友评论