1
Hii 모두 3.0.i에서 드래그 앤 드롭을 구현하려고 시도했지만 개발자 사이트에서 제공된 예제를 사용했지만 삭제하는 동안 문제가 발생했습니다. 여기 내 코드는 이미지를 드래그 할 수 있습니다. 볼 수 있지만 그것을 드롭 수 없습니다. 어떤 plz 나에게 문제가 무엇인지 말해 또는 샘플 코드를 제공 ??3.0에서 끌어서 놓기
setContentView(R.layout.main);
iv=(ImageView)findViewById(R.id.iv);
lv=(RelativeLayout)findViewById(R.id.lv);
lv.setOnDragListener(this);
iv.setTag("HELLOOO");
iv.setOnLongClickListener(this);
}
public boolean onDrag(View v, DragEvent event) {
CharSequence dragData;
switch(event.getAction()){
case DragEvent.ACTION_DRAG_STARTED:
break;
case DragEvent.ACTION_DRAG_ENTERED:
insideOfMe = true;
break;
case DragEvent.ACTION_DRAG_LOCATION:
break;
case DragEvent.ACTION_DRAG_ENDED:
break;
case DragEvent.ACTION_DRAG_EXITED:
insideOfMe = false;
break;
case DragEvent.ACTION_DROP:
break;
}
return true;
}
public static class Shadow extends View.DragShadowBuilder{
Drawable d;
public Shadow(View v,Context context){
super(v);
d=context.getResources().getDrawable(R.drawable.icon);
}
@Override
public void onProvideShadowMetrics(Point shadowSize,
Point shadowTouchPoint) {
// TODO Auto-generated method stub
int width,height;
width=getView().getWidth();
height=getView().getHeight();
d.setBounds(0,0,width,height);
shadowSize.set(width, height);
shadowTouchPoint.set(width/2, height/2);
}
public void onDrawShadow(Canvas canvas){
canvas.save();
d.draw(canvas);
canvas.restore();
}
}
public boolean onLongClick(View v) {
ClipData.Item item = new ClipData.Item((CharSequence) v.getTag());
ClipDescription NOTE_STREAM_TYPES = new ClipDescription((CharSequence)
v.getTag(),new String[] { ClipDescription.MIMETYPE_TEXT_PLAIN });
ClipData data = new ClipData(NOTE_STREAM_TYPES, item);
shadow=new Shadow(v,getApplicationContext());
v.startDrag(data, shadow,null,0);
return false;
}
감사
이 유 PLZ 내가 무엇을해야하는지 말해 줄 수를 ???? – dharan
님이 내 답변을 업데이트했습니다. –