ich mit drei Textviews auf einem Linearlayout bin mit Drag & Drop in einen anderen Behälter zu bewegen. Mein Code:Drag & Drop ohne Entfernung vom Eigentümer
OnDragListener dragi = new OnDragListener() {
@Override
public boolean onDrag(View arg0, DragEvent arg1) {
// TODO Auto-generated method stub
int action = arg1.getAction();
switch (action) {
case DragEvent.ACTION_DRAG_STARTED:
break;
case DragEvent.ACTION_DRAG_ENTERED:
break;
case DragEvent.ACTION_DRAG_EXITED:
break;
case DragEvent.ACTION_DROP:
View view = (View) arg1.getLocalState();
ViewGroup owner = (ViewGroup) view.getParent();
owner.removeView(view);
//
LinearLayout container = (LinearLayout) arg0;
container.addView(view);
view.setVisibility(View.VISIBLE);
}
break;
case DragEvent.ACTION_DRAG_ENDED:
break;
default:
break;
}
return true;
}
};
Mein Problem ist, dass ich mag nicht den Blick von dem Basisbehälter zu entfernen, sollte es dort bleiben und nur eine Kopie an den zweiten Behälter hinzuzufügen.
Thx
Es ist nicht so einfach -> java.lang.IllegalStateException: Das angegebene Kind hat bereits einen Elternteil. Sie müssen zuerst removeView() für das übergeordnete Element des Kindes aufrufen. – user547995
Ich denke, das Problem ist, dass die Ansicht nur auf Eltern haben kann. Ich kenne auch keine Möglichkeit, eine Ansicht zu "klonen" – user547995