Structure
root
-- Comments
-- movidID
-- commentID
-- Playlist
-- userID
-- playlistID
//rootNode FirebaseDatabase rootNode = FirebaseDatabase.getInstance(); //reference DatabaseReference reference;
// When adding one movie to the playlist
reference = rootNode.getReference("Playlist").child(userID).push(); Playlist playlist = new Playlist(id, userID, img_path, playRef.getKey()); reference .setValue(playlist).addOnSuccessListener(new OnSuccessListener<Void>() { @Override public void onSuccess(Void unused) { // work of button for adding and removing btn_playlist.setVisibility(View.INVISIBLE); btn_playlist.setEnabled(false); btn_remove.setVisibility(View.VISIBLE); btn_remove.setEnabled(true); } })
// When removing one movie from the playlist
DatabaseReference playcheckref = rootNode.getReference().child("Playlist").child(userID); playcheckref.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot snapshot) { for(DataSnapshot dataSnapshot : snapshot.getChildren()) { // if there is the clicked movie in the list if(Objects.requireNonNull(dataSnapshot.getValue(Playlist.class)).getmID().equals(id)){ btn_playlist.setVisibility(View.INVISIBLE); btn_playlist.setEnabled(false); btn_remove.setVisibility(View.VISIBLE); btn_remove.setEnabled(true); // grab the playlist movie id String vID = Objects.requireNonNull(dataSnapshot.getValue(Playlist.class)).getvID(); btn_remove.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { btn_playlist.setVisibility(View.VISIBLE); btn_playlist.setEnabled(true); btn_remove.setVisibility(View.INVISIBLE); btn_remove.setEnabled(false); DatabaseReference removeRef = rootNode.getReference("Playlist").child(userID).child(vID); removeRef.setValue(null); Toast.makeText(MovieDetail.this, "Successfully deleted" + Objects.requireNonNull(dataSnapshot.getValue(Playlist.class)).getvID(), Toast.LENGTH_SHORT).show(); } }); } else{ btn_playlist.setOnClickListener(addMovieToList); } } }
Top comments (0)