gpt4 book ai didi

java - 如何将选定的 OnItemLongClick 从一个 ViewPager 项目拖到另一个项目

转载 作者:行者123 更新时间:2023-11-29 22:11:37 24 4
gpt4 key购买 nike

所以我有一个带有条形 fragment (ListFragment) 和团队 fragment (ListFragment) 的 FragmentPagerAdapter。当一个项目被长按时,我希望能够将它从团队选项卡中拖放到条形图选项卡上以建立关系。这在理论上的工作方式类似于主屏幕,如果我靠近该项目的边缘,我可以进入下一个屏幕。

更新:

我正在使用 3.0+ 或兼容库。

我正试图拖到另一个标签上,而不是在同一个标​​签内。

最佳答案

这取决于您的目标级别。如果您的应用程序设计为在 Android 3.0 或更高版本上运行,您可以将内置的 Drag and Drop API 作为目标。 .

如果您的应用程序需要针对早期版本,this is a good open-source library ( Github page ) 我以前使用过并尝试为面向 2.0 或更高版本的应用程序镜像内置 API 的功能。

无论哪种情况,您都可以使用 onItemLongClick() 回调中的 startDrag() 开始拖动操作。

编辑:抱歉造成混淆

您必须根据 DragEvent 数据以编程方式在 ViewPager 中进行“制表符”更改:

  1. 由于 ViewPager 只是支持库的一部分(并且未向后移植),您可能必须将 OnDragEventListener 附加到其父 ViewGroup。
  2. 您可以在 ACTION_DRAG_LOCATION 事件触发给监听器时监视拖动位置。定义一个合理的阈值,手指必须到达监听 View 的边缘内,当它到达那里时,调用 ViewPager 上的 setCurrentItem() 进行切换。
  3. 只要在开始拖动时在 View 层次结构中实例化了新选项卡(这由 ViewPager 上的 setOffscreenPageLimit() 控制),新页面也应该是放置目标的候选者,因此它们应该能够监听 ACTION_DROP 事件。

HTH

关于java - 如何将选定的 OnItemLongClick 从一个 ViewPager 项目拖到另一个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9489366/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com