Создать элемент листа с картинкой и именем

279
11 июня 2017, 17:10

Есть окно приложение которое содержит лист. Нужно, чтобы каждый элемент листа отображался как песня в плеере. Изображение(альбома) и автор - песня. Как это реализовать?

Answer 1

Вам нужно создать адаптер для элемента вашего списка

Вот пример такого адаптера:

    public class PlayListAdapter extends BaseAdapter {
    ArrayList<Track> tracks = new ArrayList<Track>();

    LayoutInflater layoutInflater;
    public ListViewPlayersAdapter(Context context, ArrayList<Track> tracks){
        layoutInflater =  (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        this.tracks = tracks;
    }
    @Override
    public int getCount() {
        return tracks.size();
    }
    @Override
    public Object getItem(int position) {
        return null;
    }
    @Override
    public long getItemId(int position) {
        return 0;
    }
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        View view = convertView;
        if(view == null)
        {
            view = layoutInflater.inflate(R.layout.listview_track_item, parent, false);
        }
        TextView textViewTrackName = (TextView)view.findViewById(R.id.textViewName);
        textViewName.setText(tracks.get(position).name());
        ImageView imageViewPic = (ImageView)view.findViewById(R.id.imageViewPic);
        return view;
    }
}

В активити создаем экземпляр адаптера и присваиваем его нашему ListView:

PlayListAdapter playListAdapter = new PlayListAdapter(this, tracks);
listViewPlayList.setAdapter(playListAdapter);

Также не забудьте создать xml-файл с именем listview_track_item. Разметка этого файла - это разметка вашего одного трека в списке. Его можете делать, как вам угодно :

И про класс самого трека не забудьте(Там должно храниться название и все такое прочее)

READ ALSO
EOFException в Клиент-Сервере зависает 2-й клиент Java

EOFException в Клиент-Сервере зависает 2-й клиент Java

Здравствуйте! Пишу общий чатПри каждом подключении Сервер создает новый поток, там проинициализированы:

377
how does a ball object draw itself onto a panel in a different class? [требует правки]

how does a ball object draw itself onto a panel in a different class? [требует правки]

Как объект шара нарисовывается на панели в другом классе?

333
Эффективные ли побитовые операции в Java?

Эффективные ли побитовые операции в Java?

Всем привет, Возник вопрос по битовым операциям в JavaЕсли брать нативные языки на подобие "с++" или "С" то там понятен выиграш в производительности...

313
Как сделать Parallax анимацию

Как сделать Parallax анимацию

Хочу сделать анимацию вроде той, какая на гифке внизу, но не для ViewPager-а, а для замещения одного View другим

211