Die Java-API für firebase scheint nicht zu klar zu sein. Ich Objekte hinzufügen meine Feuerbasis wie:Entfernen Sie Firebase-Element nach Index oder Klasse
Food foodObj=new Food();
foodObj.setValue("name",food);//food is a string
foodObj.setValue("color",color);
myFirebaseRef.push().setValue(foodObj.getKeysValues());
zeige ich jedes Element in von Feuerbasis in einem listView
. Mit einem langen Klick möchte ich das ausgewählte Element löschen. Ich kann den Index und das Objekt vom vorderen Ende arrayList
erhalten.
listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
final int temp = position;
new AlertDialog.Builder(FridgeActivity.this)
.setMessage("Do you want to delete this item?")
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.d(tag, "should delete:" + Integer.toString(temp));
Food mess = fridge.get(temp);
}
})
.setNegativeButton("No", null)
.show();
return true;
}
});
habe ich nicht herausgefunden, wie mess
löschen. Ich habe versucht myFirebaseRef.removeVal()
, aber das entfernt alles aus der Datenbank.
Was gibt 'getKeysValues ()' zurück? Sie müssen keine Map in Firebase speichern, Sie können einfach ein Bean-Objekt speichern. –
Sie müssen ein FirebaseRef zu dem spezifischen Element, das Sie entfernen möchten, und dann removeValue() darauf verwenden –
@RonHarlev Wie bekomme ich ein bestimmtes Element? Einige Elemente haben denselben Namen. – depperm