拖放项目触摸助手后在房间数据库中保存位置

问题描述

找不到解决方案如何在更改后将位置保存在房间中?

@Query("SELECT * FROM notes WHERE id == :id")
Note getNoteId(int id);

@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertNote(Note note);

@Update
void update(Note note);

...

Mainviewmodel viewmodel = new viewmodelProvider(this).get(Mainviewmodel.class);
    viewmodel.getNotes().observe(this,notes -> {
        notesFromDB = new ArrayList<>(notes);

... 试了不行

private final itemtouchhelper.SimpleCallback simpleCallback =
        new itemtouchhelper.SimpleCallback(itemtouchhelper.UP | itemtouchhelper.DOWN |
                itemtouchhelper.RIGHT | itemtouchhelper.LEFT,itemtouchhelper.RIGHT | itemtouchhelper.LEFT) {
            @Override
            public boolean onMove(@NonNull RecyclerView recyclerView,@NonNull RecyclerView.ViewHolder viewHolder,@NonNull RecyclerView.ViewHolder target) {
                Note note = notesAdapter.getNoteAt(viewHolder.getAdapterPosition());
                Collections.swap(notesFromDB,viewHolder.getAdapterPosition(),target.getAdapterPosition());
                recyclerView.getAdapter().notifyItemmoved(viewHolder.getAdapterPosition(),target.getAdapterPosition());
                App.getInstance().getNoteDao().update(note);
                return true;
            }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)