Fixed wrong multi select item titles

This commit is contained in:
Karim Abou Zeid 2015-12-26 23:00:44 +01:00
commit 527ce7ccdb
5 changed files with 25 additions and 1 deletions

View file

@ -125,6 +125,11 @@ public class PlaylistAdapter extends AbsMultiSelectAdapter<PlaylistAdapter.ViewH
return dataSet.get(position); return dataSet.get(position);
} }
@Override
protected String getName(Playlist playlist) {
return playlist.name;
}
@Override @Override
protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull ArrayList<Playlist> selection) { protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull ArrayList<Playlist> selection) {
switch (menuItem.getItemId()) { switch (menuItem.getItemId()) {

View file

@ -175,6 +175,11 @@ public class AlbumAdapter extends AbsMultiSelectAdapter<AlbumAdapter.ViewHolder,
return dataSet.get(position); return dataSet.get(position);
} }
@Override
protected String getName(Album album) {
return album.title;
}
@Override @Override
protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull ArrayList<Album> selection) { protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull ArrayList<Album> selection) {
switch (menuItem.getItemId()) { switch (menuItem.getItemId()) {

View file

@ -164,6 +164,11 @@ public class ArtistAdapter extends AbsMultiSelectAdapter<ArtistAdapter.ViewHolde
return dataSet.get(position); return dataSet.get(position);
} }
@Override
protected String getName(Artist artist) {
return artist.name;
}
@Override @Override
protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull ArrayList<Artist> selection) { protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull ArrayList<Artist> selection) {
switch (menuItem.getItemId()) { switch (menuItem.getItemId()) {

View file

@ -45,7 +45,7 @@ public abstract class AbsMultiSelectAdapter<VH extends RecyclerView.ViewHolder,
final int size = checked.size(); final int size = checked.size();
if (size <= 0) cab.finish(); if (size <= 0) cab.finish();
else if (size == 1) cab.setTitle(checked.get(0).toString()); else if (size == 1) cab.setTitle(getName(checked.get(0)));
else if (size > 1) cab.setTitle(context.getString(R.string.x_selected, size)); else if (size > 1) cab.setTitle(context.getString(R.string.x_selected, size));
return true; return true;
@ -93,6 +93,10 @@ public abstract class AbsMultiSelectAdapter<VH extends RecyclerView.ViewHolder,
return true; return true;
} }
protected String getName(I object) {
return object.toString();
}
protected abstract I getIdentifier(int position); protected abstract I getIdentifier(int position);
protected abstract void onMultipleItemAction(MenuItem menuItem, ArrayList<I> selection); protected abstract void onMultipleItemAction(MenuItem menuItem, ArrayList<I> selection);

View file

@ -182,6 +182,11 @@ public class SongAdapter extends AbsMultiSelectAdapter<SongAdapter.ViewHolder, S
return dataSet.get(position); return dataSet.get(position);
} }
@Override
protected String getName(Song song) {
return song.title;
}
@Override @Override
protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull ArrayList<Song> selection) { protected void onMultipleItemAction(@NonNull MenuItem menuItem, @NonNull ArrayList<Song> selection) {
switch (menuItem.getItemId()) { switch (menuItem.getItemId()) {