What i'm trying to achieve is user able to select which document they want to delete. After they press delete button on a specific recycle view column, the data will be deleted. I'm able to create the recycler view by showing all the documents inside the firestore, but how can I know which unique ID to be deleted when the user select a specific data ? Currently i done the delete function but the document path are hard-coded, thats mean when i click on delete button it only can delete AAIZ9QeIRueS7q9xaAn3MCboVfv2. How can I make the document path to be dynamic?
My View Holder
class MyViewHolder extends RecyclerView.ViewHolder {
Button deletebutton;
TextView name,phone,email,position;
FirebaseAuth fAuth;
FirebaseFirestore fStore;
public MyViewHolder(@NonNull @NotNull View itemView) {
super(itemView);
deletebutton =itemView.findViewById(R.id.delete_button);
//firebase auth instances assign
fAuth = FirebaseAuth.getInstance();
fStore = FirebaseFirestore.getInstance();
name=itemView.findViewById(R.id.name_text);
phone=itemView.findViewById(R.id.surname_text);
email=itemView.findViewById(R.id.email_text);
position=itemView.findViewById(R.id.position_text);
deletebutton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getData();
}
});
}
private void getData(){
FirebaseFirestore db = FirebaseFirestore.getInstance();
DocumentReference noteRef = db.collection("Users").document("AAIZ9QeIRueS7q9xaAn3MCboVfv2");
noteRef.delete().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull @NotNull Task<Void> task) {
if(task.isSuccessful()){
Log.d("TAG","delete");
}
else{
Log.d("TAG","error");
}
}
});
}
}

