关于android中的拖拽处理(待续)

来源:互联网 发布:女生旅游攻略 知乎 编辑:程序博客网 时间:2024/04/20 22:53

在可拖拽的控件中加入如下代码(长按激活拖动):
view1.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
ClipData data = ClipData.newPlainText("key", "value");
v.startDrag(data, new DragShadowBuilder(v), v, 0);
return false;
}
});

在需接受拖拽的控件中加入如下代码:
view2.setOnDragListener(new OnDragListener() {
@Override
public boolean onDrag(View v, DragEvent event) {
switch(event.getAction()){
case DragEvent.ACTION_DRAG_STARTED:
return true;
case DragEvent.ACTION_DRAG_ENTERED:
Log.e("sky", "ACTION_DRAG_ENTERED");
return false;
case DragEvent.ACTION_DRAG_EXITED:
Log.e("sky", "ACTION_DRAG_EXITED");
return false;
case DragEvent.ACTION_DRAG_ENDED:
Log.e("sky", "ACTION_DRAG_ENDED");
return false;
case DragEvent.ACTION_DROP:
String value = event.getClipData().getItemAt(0).getText().toString();
Log.e("sky", "ACTION_DROP");
return true;
}
return false;
}
});