首页 文章

如何从firebase实时数据库重新排序数据

提问于
浏览
5

我想使用拖放手势重新排序Recyclerview中的数据,但不知道如何重新命令firebase数据库中的数据 .

1 回答

  • 6

    Firebase的设计不是基于某些可见索引,而是基于数据库when queried中的条目 .

    orderByChildorderByKey ,或 orderByValue

    因此,如果您要对Firebase中的值重新排序,则应为每个项目赋予'index'值并调用 orderByValue('index')


    几行代码可以升级当前数据库项以使用此索引:

    int index = 0;
    mDatabase.child("data").addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String previousChildName) {
            Log.d(TAG, "onChildAdded:" + dataSnapshot.getKey());
    
            // A new comment has been added, add it to the displayed list
            Data data = dataSnapshot.getValue(Data.class);
            index++;
            Map<String, Object> childUpdates = new HashMap<>();
            childUpdates.put("/data/" + dataSnapshot.getKey()+"/index", index);
            mDatabase.updateChildren(childUpdates);
        }
    

相关问题