Предполагая, что URL-адрес & видео данных обеспечиваются Backend вашего, шаги были бы следующим образом:
1) Создать класс Java с именем 'Video'
public class Video
{
String Thumbnail;
String Url;
String Title;
//GET & SET Methods
}
Для Дополнительная информация о Java Classes, refer this.
Добавить все видео объекты к ArrayList типа видео
Пример: ArrayList<Video> videos = new ArrayList<~>();
2) Создать новый андроид макет под названием 'single_video_item.xml' в каталоге R.layout
Чтобы отобразить список видео в ListView, нам сначала нужно определить, как выглядит одна строка. Файл будет выглядеть следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Video Title"
android:textSize="18sp" />
<ImageView
android:id="@+id/thumbnail"
android:layout_below="@+id/title"
android:layout_width="match_parent"
android:layout_marginTop="10dp"
android:layout_height="300dp" />
</RelativeLayout>
3) Создание пользовательского ListView адаптер типа видео
Для того, чтобы отобразить все видео, вам нужен собственный адаптер ListView, который перебирает ваши объекты ArrayList , Refer this для получения дополнительной информации о адаптерах ListView.
Имя файла как «FeedAdapter.java» & использовать следующий код
public class FeedAdapter extends ArrayAdapter<Video> {
public FeedAdapter (Context context, ArrayList<Video> videos) {
super(context, 0, users);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// Get the data item for this position
Video currentVideo = getItem(position);
// Check if an existing view is being reused, otherwise inflate the view
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.single_video_item, parent, false);
}
// Lookup view for data population
TextView title = (TextView) convertView.findViewById(R.id.title);
ImageView thumbnail = (TextView) convertView.findViewById(R.id.thumbnail);
// Populate the data into the template view using the data object
title.setText(currentVideo.Title);
//And similarly set your imageview data, etc
// Return the completed view to render on screen
return convertView;
}
}
Читайте немного о Custom adapters, чтобы получить немного больше воздействия на эту тему.
Теперь, когда мы установили базовую настройку адаптеров, давайте настроим пользовательский адаптер, который мы создали, в ListView & передаем список видео.
В OnCreate вашей деятельности, в определение ListView & инициализации FeedAdapter:
//This is the listview in your main activity's xml
ListView listView = (ListView) findViewById(R.id.feedListView);
FeedAdapter<Video> adapter = new FeedAdapter(this, videos);
listView.setAdapter(adapter);
Это будет основная структура вашего кода. Ознакомьтесь с дополнительными адаптерами Custom ListView, чтобы получить более четкое представление о процедуре. Удачи!
P.S: Я написал весь код по памяти, дайте мне знать, если есть какие-либо ошибки синтаксиса! ;)
EDIT
Если вы получаете миниатюру как URL изображения, проверки Fresco по Facebook. Он позволяет вам передать URL-адрес изображения &, который будет отображаться как изображение в вашем ListView. Если вы выберете этот метод, вам не понадобится андроид ImageView.