android拖放gridview排序

时间:2012-12-19 09:18:41

标签: android gridview drag-and-drop

我创建了一个拖放gridview(使用OnDragListener)。网格项可以相互删除。但是,我也希望能够重新订购它们。我实现了这个,但是还有一个主要问题:用户控制部分。

当我在阴影对象周围拖动时,我希望项目为我拖动的对象腾出空间,同时我将它拖动。我已经实现了其他项目的移动,但我似乎无法找到一种方法来找出我/我在两个项目之间的时间。当我胡扯一件物品时,我得到拖动事件,但不是在那之间。我拖动时,gridview不会收到任何onTouchEvent来电,甚至不会onInterceptTouchEvent次来电。

有谁知道我可以实现这个的方式?

我已经尝试过:

  1. 在gridview中实施onTouchEventonInterceptTouchEvent。问题: 拖动项目时,gridview不会收到任何onTouchEvent来电,甚至不会onInterceptTouchEvent来电。

  2. 在整个gridview上设置另一个draglistener。问题:ACTION_DRAG_LOCATION只被调用几次,而不是每次移动(位置变化),如记录(!!)。

1 个答案:

答案 0 :(得分:0)

我删除了网格项之间的填充,并为项目提供了一些额外的大小,这样你就不会在项目之间,也可以在其中一项之外。我检测到我在物品的一侧并相应地移动物品以为我拖动的物品腾出空间。