У меня есть switch case statement
в моем FragmentStatePagerAdapter
. И я рассмотрел много похожих вопросов, но ни один из них не дал более короткого ответа, то есть случаи switch
все еще находятся в их коде.
Этот код действительно повторяющийся и уродливый на вид. Есть ли способ сделать этот вид короче?
@Override
public SongListFragment getItem(int position) {
SongListFragment slf = new SongListFragment();
switch (position) {
case 0:
slf.setAudioList(getAudioList(tabTitles[0]));
slf.setItemOnClickListener(new SongListFragment.SongListItemOnClickListener() {
@Override
public void onClick(Audio audio) {
itemListener.onClick(audio);
}
});
return slf;
case 1:
slf.setAudioList(getAudioList(tabTitles[1]));
slf.setItemOnClickListener(new SongListFragment.SongListItemOnClickListener() {
@Override
public void onClick(Audio audio) {
itemListener.onClick(audio);
}
});
return slf;
case 2:
slf.setAudioList(getAudioList(tabTitles[2]));
slf.setItemOnClickListener(new SongListFragment.SongListItemOnClickListener() {
@Override
public void onClick(Audio audio) {
itemListener.onClick(audio);
}
});
return slf;
case 3:
slf.setAudioList(getAudioList(tabTitles[3]));
slf.setItemOnClickListener(new SongListFragment.SongListItemOnClickListener() {
@Override
public void onClick(Audio audio) {
itemListener.onClick(audio);
}
});
return slf;
case 4:
slf.setAudioList(getAudioList(tabTitles[4]));
slf.setItemOnClickListener(new SongListFragment.SongListItemOnClickListener() {
@Override
public void onClick(Audio audio) {
itemListener.onClick(audio);
}
});
return slf;
default:
return null;
}
}