How can I reorder recyclerview from firebase permanently?

喜你入骨 提交于 2020-12-27 05:35:33

问题


I am working on a firebase project. I used Itemtouchhelper to drag and reorder the recyclerview from firebase database but it resets to what it was if I enter another activity and comeback or restart the app. Is there a way to make the change to recyclerview order permanent?


ItemTouchHelper.SimpleCallback simpleCallback = new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN | ItemTouchHelper.START | ItemTouchHelper.END, 0) {
@Override
public boolean onMove(@NonNull RecyclerView recyclerView, @NonNull RecyclerView.ViewHolder viewHolder, @NonNull RecyclerView.ViewHolder target) {
    int fromPosition = viewHolder.getAdapterPosition();
    int toPosition = target.getAdapterPosition();

    Collections.swap(List, fromPosition, toPosition);

    adapter.notifyItemMoved(fromPosition, toPosition);
    return false;
}

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

}};

private void loadList() {
List = new ArrayList<>();
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("List");
databaseReference.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot snapshot) {
        List.clear();
        for(DataSnapshot ss: snapshot.getChildren()){
            if(ss.child("moreList").child(ID).exists()){
                ListModel model = ss.getValue(ListModel.class);
                List.add(model);
            }
        }
        adapter = new ListAdapter(getActivity(), List);
        RecyclerView.setAdapter(adapter);
        ItemTouchHelper itemTouchHelper = new ItemTouchHelper(simpleCallback);
        itemTouchHelper.attachToRecyclerView(RecyclerView);

    }

    @Override
    public void onCancelled(@NonNull DatabaseError error) {

    }
});

}

来源:https://stackoverflow.com/questions/65191605/how-can-i-reorder-recyclerview-from-firebase-permanently

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!