Студия Android: как динамически отображать и обновлять пользовательский список, который ориентирован по горизонтали и вертикали одновременно? - PullRequest
0 голосов
/ 04 ноября 2019

Итак, я разрабатывал приложение для Android Studio, и в какой-то момент мне нужно отобразить пары значений, состоящие из текстов и изображений, но у меня есть некоторые проблемы с отображением. Скажем здесь, что я хочу получить список названий фруктов, связанных с изображением, я бы хотел отобразить его следующим образом: Пример

Каждое изображение и связанный с ним текст имеют линейное расположение, поэтомуэто список линейных разметок. Кнопка «Добавить фрукты» открывает алердиологический диалог, в котором можно выбрать текст и изображение, щелкнув кнопку «ОК» в алерте, где имя и изображение сохраняются в базе данных sqlLite (которую я уже запрограммировал), иlinearlayout должен быть добавлен в текущий список, так как диалоговое окно закрыто.

Итак, проблема в том, что:

  1. Я действительно не знаю , как динамически отображатькаждый из этих линейных слоев в этом конкретном порядке .
  2. Я не знаю, как сделать так, чтобы , когда добавлялся новый фрукт и диалоговое окно закрывалось,список в упражнении обновляется напрямую .

Я думал об использовании списка, но списки только горизонтальные ИЛИ вертикальные, но в этом случае мне нужно смешатьобоих.

Другая идея состояла в том, чтобы удалить макет, содержащий все линейные макеты (весь список), когда был добавлен новый фрукт, а затем использовать мою базу данных для повторного создания всех линейных макетов. ,Но динамически я не думаю, что это будет работать, обновление не будет выполнено (?)

Моя последняя идея состояла в том, чтобы создать фрагмент и использовать мою базу данных в методе onCreateView для отображения всех элементов. И чтобы обновить его, я просто отсоединяю и снова присоединяю фрагмент к упражнению каждый раз, когда добавляю новый элемент.


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

...