【发布时间】:2018-04-08 09:51:02
【问题描述】:
我目前正在开发一款带有“收藏歌曲”标签的音乐应用。 我正在尝试实现一个工具,该工具允许用户使用拖放对存储在数据库中的他们喜欢的歌曲进行排序。
我在这种情况下使用ItemTouchHelper,但我的搜索都没有产生适用于数据库的解决方案。
** 我的列表是从数据库中填充的 **
FavoritesPresenter.class
ItemTouchHelper.SimpleCallback simpleCallback =
new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN, 0) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
mRecyclerView.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
return true;
}
@Override
public void onMoved(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, int fromPos, RecyclerView.ViewHolder target, int toPos, int x, int y) {
super.onMoved(recyclerView, viewHolder, fromPos, target, toPos, x, y);
}
DataBase.class
int updateOrder(long id, int newPos) {
ContentValues cv = new ContentValues();
cv.put(DataBaseOpenHelper.COLUMN_ORDER, newPos);
String where = DataBaseOpenHelper.COLUMN_ID + "=?";
String[] whereArgs = {String.valueOf(id)};
return getWritable().update(DataBaseOpenHelper.TABLE_NAME_FAVORITE, cv, where, whereArgs);
}
我已经尝试过这个“解决方案”here,但显然它对我不起作用。有什么建议吗?
【问题讨论】:
标签: java sql database android-recyclerview itemtouchhelper