Java tutorial
/* * Copyright (C) 2015 Naman Dwivedi * * Licensed under the GNU General Public License v3 * * This is free software: you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * * This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. */ package com.bluros.music.fragments; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.bluros.music.R; import com.bluros.music.adapters.ArtistSongAdapter; import com.bluros.music.dataloaders.ArtistSongLoader; import com.bluros.music.models.Song; import com.bluros.music.utils.Constants; import com.bluros.music.widgets.DividerItemDecoration; import java.util.ArrayList; public class ArtistMusicFragment extends Fragment { public static RecyclerView songsRecyclerview; long artistID = -1; ArtistSongAdapter mSongAdapter; public static ArtistMusicFragment newInstance(long id) { ArtistMusicFragment fragment = new ArtistMusicFragment(); Bundle args = new Bundle(); args.putLong(Constants.ARTIST_ID, id); fragment.setArguments(args); return fragment; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getArguments() != null) { artistID = getArguments().getLong(Constants.ARTIST_ID); } } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_artist_music, container, false); songsRecyclerview = (RecyclerView) rootView.findViewById(R.id.recycler_view_songs); setUpSongs(); return rootView; } private void setUpSongs() { songsRecyclerview.setLayoutManager(new LinearLayoutManager(getActivity())); ArrayList<Song> songList; songList = ArtistSongLoader.getSongsForArtist(getActivity(), artistID); // adding one dummy song to top of arraylist //there will be albums header at this position in recyclerview songList.add(0, new Song(-1, -1, -1, "dummy", "dummy", "dummy", -1, -1)); mSongAdapter = new ArtistSongAdapter(getActivity(), songList, artistID); songsRecyclerview .addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST)); songsRecyclerview.setAdapter(mSongAdapter); } }