如何将 ListView 的项目拖放到另一个 ListView

12

大家好,我是Raynast,一个Android编程的新手。现在我在我的项目中遇到了一个小问题,涉及到Listview的拖放。

我决定从数据库中查询数据,并将其布局在三个Listview中。

     _________________________
     |list_1 |list_2 |list_3 |
     |_______|_______|_______|
     |_______|_______|_______|
     ||     |||     |||     ||
     ||item1|||item5|||item8||
     ||_____|||_____|||_____||
     |_______|_______|_______|
     ||     |||     |||     ||
     ||item2|||item6|||item9||
     ||_____|||_____|||_____||
     |_______|_______|       |
     ||     |||     ||       |
     ||item3|||item7||       |
     ||_____|||_____||       |
     |_______|       |       |
     ||     ||       |       |
     ||item4||       |       |
     ||_____||       |       |
     |_______|_______|_______|

我使用的是Android平台2.3.1。

我想将Listview1中的item1拖到Listview2或Listview3中,并在listview项之间放置。

我尝试研究解决此问题的解决方案,但未找到!

观察:MotionEvent具有action_up和action_down,但没有action_right和action_left。

我希望知道解决此问题的解决方案。如果不可能,请告诉我或提出另一种方法来实现此活动。

非常感谢您的回复,它将对我和其他人都非常有用。


亲爱的raynast,你有没有找到解决办法? - TKumar
4个回答

3

2

看一下这个示例,在列表视图中拖放...

拖放示例...点击“你可以在这里找到项目。”并下载Zip文件。


谢谢您的回答。我正在尝试阅读这段代码,但是我不知道如何创建更多的ListView。 - raynast

1

MotionEvent.getAction() 返回的 ACTION_UPACTION_DOWN 常量是指手指点击的状态(例如,手指按下屏幕,手指从屏幕上抬起),而不是移动方向。您需要结合使用 MOVE 操作和 ACTION_UPACTION_DOWN 来完成您想要做的事情。

例如,在您的 onTouch 方法中,当您接收到 MOTION_DOWN(用户按下 ListView 项)时,确定用户点击了哪个项目。然后,您可以跟踪 MOVE 操作以提供视觉提示,例如绘制一个浮动的“幽灵”版本的项目,该版本会跟随他们的手指移动。最后,当您接收到 MOTION_UP(用户在拖动后放开了手指)时,确定他们的手指悬停在哪一列上,并执行必要的操作将数据移动到另一个列表中。

您可以使用每个 MotionEvent 提供的 x 和 y 坐标来确定用户点击了哪个项目,他们的手指移动到了哪个列表等。


非常感谢。现在我明白了Action_up和down,但是我无法将其应用到我的项目中。如果您有拖放listView的示例代码,请帮忙提供一下。谢谢。 - raynast

0

1
欢迎来到 Stack Overflow。请在您的回答中总结链接;这样,如果链接失效,答案也不会完全无用。 - michaelb958--GoFundMonica

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接