How to delete a ListView document from Firestore in Android when I click it?

吃可爱长大的小学妹 提交于 2021-01-29 12:33:06

问题


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!