package com.nf2m.adapter; import android.content.Context; import android.database.Cursor; import android.provider.MediaStore; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.view.View; import android.view.ViewGroup; import com.nf2m.R; import com.nf2m.viewholder.ArtistItemViewHolder; public class ArtistCursorAdapter extends LibraryCursorAdapter<ArtistItemViewHolder> { @Nullable private Cursor artistCursor; private final Context context; public ArtistCursorAdapter(Context context, Cursor c) { super(context, c, MediaStore.Audio.ArtistColumns.ARTIST); this.context = context; artistCursor = c; } private String getAlbumNumberString(String numberOfAlbums) { return context.getResources().getQuantityString(R.plurals.title_p_album, Integer.parseInt(numberOfAlbums), numberOfAlbums); } //Artist listesindeki ögenin elementlerinin bağlantıları oluşturulur. //Yani bir view oluşturulur @NonNull @Override public ArtistItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View itemView = inflateCustomViewAndListView(parent, R.layout.artists_custom_layout); return new ArtistItemViewHolder(itemView, clickListener, longClickListener); } //Oluşturulan view ile veri taban veriler birbirine bağlanır. @Override public void onBindViewHolder(@NonNull ArtistItemViewHolder holder, int position) { artistCursor = getCursor(); if (artistCursor.moveToPosition(position)) { String artistName = artistCursor.getString(getColumnIndex(MediaStore.Audio.ArtistColumns.ARTIST)); String numberOfAlbums = artistCursor.getString(getColumnIndex(MediaStore.Audio.ArtistColumns.NUMBER_OF_ALBUMS)); holder.tvArtistName.setText(artistName); holder.tvNumberOfAlbums.setText(numberOfAlbums); holder.tvNumberOfAlbums.setText(getAlbumNumberString(numberOfAlbums)); if (isPositionChecked(position)) { holder.artistBackground.setVisibility(View.VISIBLE); holder.ivCheck.setVisibility(View.VISIBLE); } else { holder.artistBackground.setVisibility(View.GONE); holder.ivCheck.setVisibility(View.GONE); } } } @Override public int getItemCount() { artistCursor = getCursor(); return artistCursor.getCount(); } }