0

我会尽我所能解释我的问题。

我有两个线性布局。每个都有一个imageview

我正在玩拖放属性。一个 imageview (A) 有一个onTouchListener,另一个 (B) 有一个onDragListener

当我将视图 A 放入视图 BI 时,执行以下代码:

 public boolean onDrag(View imagen_blanca, DragEvent dragEvent) {
    int dragAction = dragEvent.getAction();

   if (dragAction == DragEvent.ACTION_DROP) {
     switch (dragEvent.getAction()){
         case DragEvent.ACTION_DRAG_ENTERED:
             break;
         case DragEvent.ACTION_DRAG_EXITED:
             break;
         case DragEvent.ACTION_DROP:
             View imagen_desplazada = (View) dragEvent.getLocalState();
             ViewGroup papa_blanca = (ViewGroup) imagen_blanca.getParent();
             ViewGroup papa_desplazada = (ViewGroup) imagen_desplazada.getParent();
             papa_blanca.removeView(imagen_blanca);
             papa_desplazada.removeView(imagen_desplazada);
             papa_blanca.addView(imagen_desplazada);
             papa_desplazada.addView(imagen_blanca);
             imagen_desplazada.setVisibility(View.VISIBLE);
             break;
    }
}
    return true;
}

我想做什么? 我得到两个线性布局(papa_blanca 和 papa_desplazada),每个都持有一个 imageview。我把他的孩子从每个人身上移开。我添加了一个新孩子。

当我移动一次时它会起作用。我的意思是:当我把 A 放在 B 上时,他们改变了他的父亲。

我的问题来了。当我尝试在 B 上再次移动 A 以获得错误出现的原始位置时:

4

1 回答 1

0

有用!错误出现在我的代码的另一个部分

于 2013-09-22T10:40:08.467 回答