Sme*_*eff 5 java android firebase firebase-realtime-database
我想使用拖放手势重新排序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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2327 次 |
| 最近记录: |