问题
I wanna delete a document from firestore and I wanna change the activity when I click to the listView item. I can change the activity and I can remove the movie when I click it but I open the app again it's still in there cause I can't delete it from firestore I try but I couldn't do it. How can I do that?
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
filmArray.remove(position);
arrayAdapter.notifyDataSetChanged();
Intent intent=new Intent(IzlemekIstediklerim.this,FilmEkle.class);
startActivity(intent);
}
});
回答1:
as mentioned in documentation you have to access collection then remove it
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
filmArray.remove(position);
arrayAdapter.notifyDataSetChanged();
deleteFromDB();
Intent intent=new Intent(IzlemekIstediklerim.this,FilmEkle.class);
startActivity(intent);
}
});
delete function
private void deleteFromDB(){
db.collection("movies").document("Inception")
.delete()
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "DocumentSnapshot successfully deleted!");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error deleting document", e);
}
});
}
回答2:
I'm not sure but this may be helpful :
private final FireBaseFireStore db;
public void deleteDocument() {
// [START delete_document]
db.collection("movies").document("inception")
.delete()
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
Log.d(TAG, "DocumentSnapshot successfully deleted!");
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error deleting document", e);
}
});
// [END delete_document]
}
take a look at this github project
来源:https://stackoverflow.com/questions/61709165/how-to-delete-a-listview-document-from-firestore-in-android-when-i-click-it