【问题标题】:DynamicListView Drag-n-Drop onDrop?DynamicListView Drag-n-Drop onDrop?
【发布时间】:2013-12-17 06:47:53
【问题描述】:

我正在尝试在我的程序中使用 https://github.com/nhaarman/ListViewAnimations 库。具体来说,拖放支持。

虽然我设法将应用程序调整为 DynamicListView(这并不困难,这要归功于作者提供的出色库),但我似乎无法理解如何将更改应用于数据背后的持久存储列表 - 例如,sqlite 数据库数据。

DynamicListView 或 ArrayAdapter 中不应该有一个回调通知应用程序关于 Drag-n-Drop 的结束吗?

【问题讨论】:

    标签: android callback drag-and-drop


    【解决方案1】:

    回调会很好,但它似乎没有内置到库中。

    查看源代码可以看到交换发生在DynamicListView.javaswapElements() 函数中。可以看到,它会检查提供给列表的适配器是否实现了Swappable 接口,如果是,则调用其swapItems() 函数。

    因此,您只需在适配器中实现该接口,然后将其提供给 DynamicListView。

    【讨论】:

    • 我看到了这些方法,并首先想到了使用它们。但这意味着在每次交换时调用 db.update,这对我来说似乎非常消耗。
    • 你可以随心所欲地实现 swapItems 函数。如果您不想,则不需要立即提交更改。例如,您可以等到 onPause。
    • 凯尔,谢谢!看起来你帮我摆脱了我的疑虑,会试试这个方法:)
    【解决方案2】:

    实现 DynamicListView.OnItemMovedListener 并覆盖 onItemMoved()。使用 DynamicListView.setOnItemMovedListener() 将此设置为回调

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-18
      • 2020-07-26
      • 2010-09-15
      相关资源
      最近更新 更多