API Java для firebase, похоже, не слишком ясен. Добавить объекты в мой firebase как:Удалить элемент firebase по индексу или классу
Food foodObj=new Food();
foodObj.setValue("name",food);//food is a string
foodObj.setValue("color",color);
myFirebaseRef.push().setValue(foodObj.getKeysValues());
Я показываю каждый элемент из firebase в listView
. При длинном щелчке я хочу удалить выбранный элемент. Я могу получить индекс и объект с переднего конца arrayList
.
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;
}
});
Я не понял, как удалить mess
. Я пробовал myFirebaseRef.removeVal()
, но это удаляет все из базы данных.
Что такое 'getKeysValues ()' return? Вам не нужно сохранять карту в firebase, вы можете просто сохранить объект Bean. –
вам нужно получить FirebaseRef к определенному элементу, который вы хотите удалить, а затем использовать removeValue() на нем –
@RonHarlev Как мне получить конкретный элемент? Некоторые элементы имеют одно и то же имя. – depperm