标签:android style blog http color ar java strong sp
項目地址:https://github.com/bauerca/drag-sort-listview
/**
* 一个简单的例子
* @author Lean @date:2014-10-23
*/
public class MainActivity extends Activity {
private DragSortListView mDslv;
private DragSortController mController;
ArrayAdapter<String> adapter;
private DragSortListView.DropListener onDrop =
new DragSortListView.DropListener() {
@Override
public void drop(int from, int to) {
if (from != to) {
//上下拖动时,手指释放瞬间调用
String item = adapter.getItem(from);
adapter.remove(item);
adapter.insert(item, to);
}
}
};
private DragSortListView.RemoveListener onRemove =
new DragSortListView.RemoveListener() {
@Override
public void remove(int which) {
//删除位置成功调用
adapter.remove(adapter.getItem(which));
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mDslv = (DragSortListView) findViewById(android.R.id.list);
//打开拖动开关,如果不打开 右滑操作没反应
mDslv.setDragEnabled(true);
//设置监听器
mDslv.setDropListener(onDrop);
mDslv.setRemoveListener(onRemove);
mController = buildController(mDslv);
//设置悬浮框管理器,点击监听器
mDslv.setFloatViewManager(mController);
mDslv.setOnTouchListener(mController);
setListAdapter();
}
public DragSortController buildController(DragSortListView dslv) {
DragSortController controller = new DragSortController(dslv);
//设置拖动对象 id映射View
controller.setDragHandleId(R.id.drag_rl);
//设置移除开关
controller.setRemoveEnabled(true);
//设置拖动/移除 模式
controller.setDragInitMode(DragSortController.ON_DRAG);
controller.setRemoveMode(DragSortController.FLING_REMOVE);
return controller;
}
public void setListAdapter() {
String[] array = getResources().getStringArray(R.array.jazz_artist_names);
ArrayList<String> list = new ArrayList<String>(Arrays.asList(array));
adapter = new ArrayAdapter<String>(this, R.layout.list_item_handle_left, R.id.text, list);
mDslv.setAdapter(adapter);
}
}
标签:android style blog http color ar java strong sp
原文地址:http://blog.csdn.net/qq285016127/article/details/40401127