我想使用拖放手势在recyclerview中重新排序数据,但不知道如何在Firebase数据库中重新排序数据。
Firebase并非旨在根据某些可见索引进行排序,而是根据查询时在数据库中的条目进行排序。
orderByChild
,orderByKey
或orderByValue
因此,如果您想对Firebase中的值进行重新排序,则应为每个项目指定一个“索引”值,然后调用 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);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句