zeigen Ich möchte FirebaseRecyclerAdapter überprüfen, ob dort mit E-Mail-Adresse endet und Uids anzeigen. Irgendwie gibt es alle Daten aus, als ob es keine Filterung und Ordnung gäbe.FirebaseRecyclerAdapter zeigt immer noch alle Elemente an. Sollte keine
Hier ist JSON Daten.
"invites" : {
"4u60kmvvO9TwzBrLpP5SG4ICU9r1_test5%[email protected]%2Etest" : {
"cost" : "2",
},
"[email protected]%2Etest" : {
"costs" : "0"
},
"UQW5VEAojMOyB2WGTU9aTPUBepg1_test6%[email protected]%2Etest" : {
"costs" : "0"
}
}
Ich möchte FirebaseRecyclerAdapter setzen. Hier ist Adapter.
mAdapter = new FirebaseRecyclerAdapter<Event, UserHolder>(
Event.class,
R.layout.layout,
UserHolder.class,
ref.child("invites").orderByKey().endAt(encodeAsFirebaseKey(email))
) {}
Warum bekomme ich alle drei Elemente, wenn ich mit [email protected] E-Mail testen? Es scheint, dass ich Dokumentation gelesen habe und es sollte funktionieren. Irgendwelche Ideen?
Aktualisieren.
private String encodeAsFirebaseKey(String string) {
return string.replace(".", "%2E");
}
Es gibt Test @ test% 2Etest zurück.
protected void populateViewHolder(final UserHolder viewHolder, Event model, final int position) {
final String key = this.getRef(position).getKey().split("_")[0];
viewHolder.setName(key);
}
Das hängt von dem Wert ab, den 'encodeAsFirebaseKey (email)' zurückgibt. Können Sie das Problem mit einem fest codierten Wert anstelle dieses Aufrufs reproduzieren? –
Es gibt test @ test% 2Etest zurück. Sollte arbeiten. – EagerToSing