我在具有三個TextView的LinearLayout上使用拖動&拖放將其移動到另一個容器。 我的代碼:拖放不刪除所有者
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;
}
};
我的問題是,我不希望從基礎容器中取出的觀點,它應該呆在那裏,只需添加一個複製到第二個容器。
THX
不那麼容易 - > java.lang.IllegalStateException:指定的子項已經有一個父項。您必須先調用子對象的父對象的removeView()。 – user547995
我認爲問題是該視圖只能在父項。我也不知道「克隆」視圖的方法 – user547995