Android 拖放RealmResults

Android 拖放RealmResults,android,realm,android-recyclerview,Android,Realm,Android Recyclerview,对不起我的英语。我有recyleView,在适配器中我有RealmResults。我尝试使用下拉列表,但当我将列表替换为RealmResults时出现错误: java.lang.UnsupportedOperationException: This method is not supported by 'RealmResults' or 'OrderedRealmCollectionSnapshot'. 这是我的代码: ItemTouchHelper.Callback _ithCallback

对不起我的英语。我有recyleView,在适配器中我有
RealmResults
。我尝试使用下拉列表,但当我将列表替换为
RealmResults
时出现错误:

java.lang.UnsupportedOperationException: This method is not supported by 'RealmResults' or 'OrderedRealmCollectionSnapshot'.
这是我的代码:

ItemTouchHelper.Callback _ithCallback = new ItemTouchHelper.Callback() {
            @Override
            public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
                try {
                    Collections.swap(categoryPresenter.getCategory(), viewHolder.getAdapterPosition(), target.getAdapterPosition());
                    categoryAdapter.notifyItemMoved(viewHolder.getAdapterPosition(), target.getAdapterPosition());
                }catch (Exception e) {
                    Log.e("error", e.toString());
                }

                return true;
            }

            @Override
            public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {}

            @Override
            public int getMovementFlags(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
                hideOpenedItems(recyclerView);
                return makeFlag(ItemTouchHelper.ACTION_STATE_DRAG,
                        ItemTouchHelper.DOWN | ItemTouchHelper.UP | ItemTouchHelper.START | ItemTouchHelper.END);
            }
        };

RealmResult
不是列表,因此您无法交换
RealmResult
中的项目

你能做的就是

List<MyItem> list = realm.copyFromRealm(realmResults);
List List=realm.copyFromRealm(realmResults);
但是,这将使列表处于非托管状态,这意味着如果更新数据库中的数据,对象将不会自动更新