verwiesen wurde habe ich einen Knoten für NachrichtenÜberprüfen Sie, ob Daten in einem Knoten vorhanden sind, die von Feuerbasis
News - key -title -content
ich einen neuen Knoten erstellt namens read_news
ReadNews -key -news-key: true -news-key2: true -news-key3: true
Die Frage ist jetzt Wenn ich alle oder einige Einträge im Knoten News
von der Konsole lösche, behält der Knoten ReadNews
immer noch die Referenz-ID für die gelöschten Nachrichten bei. Wenn ich die App starte, zeigt es zwei Zellen anstelle eines leeren RecyclerView.
Ich habe ein Debugging und ich stelle fest, dass der FirebaseRecylerAdapter noch die Anzahl der Elemente in diesem Knoten zählt, obwohl wo ich das Element in dem Knoten aus referenziert wurde gelöscht wurde.
Wie kann ich eine Bedingung erstellen, um zu wissen, ob die news-key
nicht im Knoten News
vorhanden ist, und FirebaseRecyclerAdapter überspringt.
mDatabaseRef = FirebaseDatabase.getInstance().getReference().child("newspapers");
mDatabaseRef.child(getRef(position).getKey()).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.getValue() == null) {
Log.d("dsmfdvmms", "");
}else{
NewsPaper newsPaper = dataSnapshot.getValue(NewsPaper.class);
viewHolder.libraryName.setText(newsPaper.getPaper_name());
loadImage(viewHolder.libraryImage, newsPaper.getLogo(), context);
vendotName = newsPaper.getPaper_name();
vendorIcon = newsPaper.getLogo();
vendorId = dataSnapshot.getKey();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Das Problem ist, dass ich nicht aus der App löschen, löschte ich sie von der Konsole firebase.com und seine Absturz der App, weil es nicht existierte – SimpiMind
Soweit ich weiß, können Sie dies nicht manuell von der Konsole mit "Regeln". Laut [offiziellem Dokument] (https://firebase.google.com/docs/database/security/) gibt es Regeln zum "Lesen", "Schreiben", "Bestätigen" und "IndexOn" und nicht zum Löschen von Elementen. Sie können Elemente wie oben erwähnt programmgesteuert löschen. –
Ja ich habe, Ihre Antwort gab mir eine Idee, aber nicht die Lösung für das Problem ... was ich getan habe, ist, bevor ich den Adapter Artikel hinzufügen ich überprüfe, ob der Schlüssel in der Haupt-Referenz-Knoten verfügbar ist, wenn es ist verfügbar Ich füge dem Adapter hinzu, und wenn es nicht den Wert lösche, ist seine Referenz nicht vorhanden. – SimpiMind