Changes made to RecyclerView does not save

我的未来我决定 提交于 2021-02-17 06:00:33

问题


I used firebase database to load information into the recyclerview. By using itemtouchhelper, I was able to relocate the items in the recyclerview. However, the changes made to the recyclerview doesn't save and always goes back to its original state when I end the activity. How can I fix my code to make the changes last permanently?


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 true;
}

 @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/65193053/changes-made-to-recyclerview-does-not-save

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