Задать вопрос
@loly

Единый элемент для вывода аудио/видео/фото?

Есть необходимость вывести на странице один из форматов файлов. Файл выбирается пользователем на предыдущем макете (layout). Можно реализовать просто тремя различными элементами друг под другом и в onCreate скрывать ненужные, но это кажется каким то костылем.

Есть ли какое либо "красивое" решение подобной задачи?
  • Вопрос задан
  • 260 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Нетология
    Android-разработчик с нуля
    14 месяцев
    Далее
  • LearnQA
    Автоматизатор мобильных приложений
    9 недель
    Далее
Пригласить эксперта
Ответы на вопрос 2
artemgapchenko
@artemgapchenko
Попробуйте ViewStub. В зависимости от того, какой файл пришёл с предыдущего экрана, будете инфлейтить разные макеты (для аудио/фото/видео) и работать с ними.
Можно даже выделить три разных кастомных виджета, реализающих один общий интерфейс MediaFileHandler. В этом интерфейсе будет метод handleFile(File). При попадании на экран с выводом медиа вы инфлейтите соответствующий layout, содержащий ваш кастомный виджет, и вызываете у виджета handleFile().
Ответ написан
Rou1997
@Rou1997
Есть ли какое либо "красивое" решение подобной задачи?

Есть, создать свой кастомный View, внутри которого скрыть всю это не радующую глаз логику.

Поверьте мне, на самом деле костылей в вашем коде гораздо больше. Если вы хоть раз печатали findViewById пальцами по клавиатуре, то это тоже костыль по сравнению с кое-чем. Да, есть такая параллельная вселенная, где это делается автоматически))
Так что, надо расставлять приоритеты, и смотреть на вещи реально, потому что все костыли сразу - не победить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы