-
Notifications
You must be signed in to change notification settings - Fork 0
/
TrackAdapter.java
61 lines (49 loc) · 1.79 KB
/
TrackAdapter.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package org.williamwong.spotifystreamer.adapters;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import org.williamwong.spotifystreamer.R;
import org.williamwong.spotifystreamer.models.TrackModel;
import java.util.List;
/**
* Created by w.wong on 6/19/2015.
*/
public class TrackAdapter extends ArrayAdapter<TrackModel> {
public TrackAdapter(Context context, List<TrackModel> objects) {
super(context, 0, objects);
}
private static class ViewHolder {
TextView trackNameTextView;
TextView albumNameTextView;
ImageView trackThumbnailImageView;
public ViewHolder(View v) {
trackNameTextView = (TextView) v.findViewById(R.id.trackNameTextView);
albumNameTextView = (TextView) v.findViewById(R.id.albumNameTextView);
trackThumbnailImageView = (ImageView) v.findViewById(R.id.trackThumbnailImageView);
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TrackModel track = getItem(position);
ViewHolder viewHolder;
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.list_item_track, parent, false);
viewHolder = new ViewHolder(convertView);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.trackNameTextView.setText(track.getTrackName());
viewHolder.albumNameTextView.setText(track.getAlbumName());
Picasso.with(getContext())
.load(track.getImageUrl())
.fit().centerCrop()
.into(viewHolder.trackThumbnailImageView);
return convertView;
}
}