从RecyclerView / ItemTouchHelper后的dragndrop更新数据库

时间:2018-03-16 17:20:09

标签: android android-recyclerview drag-and-drop android-sqlite android-support-library

通过ItemTouchHelper实现了对RecyclerView的拖拽,因此用户可以通过向上或向下拖动来更改项目的顺序。

按照规范 - 当android支持库调用ItemTouchHelper.Callback#clearView时运动结束,所以我们需要在这里更新DB(sqlite)并更改拖动项目和其他(受影响)的顺序 - 意味着~a对DB的请求很少。

但是当我看到从GUI线程调用clearView时,我们无法从那里进行调用(根据数据库索引和受影响项目的数量,一些请求可能非常繁重)。

那么这里的最佳做法是什么? 或者只是通过clearView从<{1}}触发数据库更新?

1 个答案:

答案 0 :(得分:0)

最后我通过android.os.AsyncTask做了:在那里移动了所有数据库交互。