我正在从用户名结构中提取数据,我想按名称或用户名排序。这可能与新的 firebase 数据库引用有关。我一直在环顾四周,但找不到任何相关信息。
这是我的代码:
databaseReference = FirebaseDatabase.getInstance().getReference().child("Users");
}
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<addFriends,addFriendsViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<addFriends, addFriendsViewHolder>(
addFriends.class,
R.layout.addfriends_row,
addFriendsViewHolder.class,
databaseReference
) {
@Override
protected void populateViewHolder(addFriendsViewHolder viewHolder, addFriends model, int position) {
viewHolder.setName(model.getName());
viewHolder.setUsername(model.getUsername());
}
};
addfriendsRecyclerView.setAdapter(firebaseRecyclerAdapter);
}
这是我在 Firebase 中的结构:
{
"asdadafdsgsaasfsa" : {
"name" : "juanito",
"username" : "cacadeperro22"
},
"dasdsadadaf" : {
"name" : "cucu",
"username" : "dsadadas"
},
"dsadasddsa" : {
"name" : "username",
"username" : "pisad"
},
"dsdsada" : {
"name" : "name",
"username" : "username"
},
"qUYxycDlMwYZ6r2WSA1TAacbdPh1" : {
"email" : "elvis0288@hotmail.com",
"name" : "Elvis De Abreu",
"username" : "elvis0288"
},
"qadfdafa" : {
"name" : "Josue Caca",
"username" : "chupapenes"
},
"x123" : {
"name" : "fsf",
"username" : "dadfasfd"
},
"xxxxxx" : {
"name" : "123",
"username" : "culo"
}
}
谢谢!
最佳答案
编辑:离开并回来完成回答。看到有人打败了我:) 在 FirebaseRecyclerAdapter 构造函数中传入 QueryRef 而不是数据库引用。
databaseReference = FirebaseDatabase.getInstance().getReference().child("Users");
// ...
@Override
protected void onStart() {
super.onStart();
Query query = databaseReference.orderByChild("name"); // or ...orderByChild("username");
FirebaseRecyclerAdapter<addFriends,addFriendsViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<addFriends, addFriendsViewHolder>(
addFriends.class,
R.layout.addfriends_row,
addFriendsViewHolder.class,
query
) {
@Override
protected void populateViewHolder(addFriendsViewHolder viewHolder, addFriends model, int position) {
viewHolder.setName(model.getName());
viewHolder.setUsername(model.getUsername());
}
};
addfriendsRecyclerView.setAdapter(firebaseRecyclerAdapter);
}
关于android - 如何在新的 Firebase 数据库引用 (Recyclerview) 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40314486/