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)