Я начал внедрять библиотеку привязки данных Android к моему новому приложению. Но у меня возникают некоторые трудности с динамически добавленными данными. В моем POJO
он содержит карту <String,Double>
. Здесь String
- это идентификатор пользователя, а Double
- это сумма. У меня есть файл макета для отображения отдельной записи. Таким образом, если карта содержит 2 элемента, то это будет выглядеть следующим образом:Связывание данных с динамически добавленными элементами
Раньше я делал это надувание макетов внутри цикла и добавления к LinearLayout
для каждого элемента карты. Но теперь я хочу сделать это с привязкой данных.
Как, количество элементов в Map
может быть от 1 до 20, я не могу добавить в файл макета по умолчанию. Я должен раздуваться в соответствии с записями на карте. Я успешно применил привязку данных к POJO
без Map
. Но, неспособный понять, как это можно сделать с привязкой данных легко.
Итак, есть ли способ сделать это непосредственно в привязке данных (в файле макета) или с минимальным кодом в Java-коде?
Edit: Для всех, кто видит, что это просто RecyclerView
, это не так. Я согласен RecyclerView
- очень хороший выбор, когда у вас есть список с некоторыми элементами и прокрутка, которые будут полезны для производительности. Здесь у меня есть несколько элементов разных типов выше и ниже этого списка. Я также использовал RecyclerView
с привязкой данных, и я знаю, как это работает, но здесь это не так. Я просто хочу раздуть несколько строк внутри макета (LinearLayout), используя привязку данных.
Вы попробовали 'RecyclerView'? –
Мне не нужен RecyclerView, в большинстве случаев будет до 5-7 элементов. RecyclerView будет полезен, когда есть много элементов с прокруткой – kirtan403
В вопросе вы сказали от 1 до 20. И если в случае, число элементов увеличилось до> 7, чтобы быть в безопасности, я предлагаю использовать 'RecyclerView'. И ваша проблема с привязкой будет решена. Если вы добавили все элементы в «LinearLayout» программно и на поворот экрана, вам нужно прокрутить, чтобы увидеть все элементы, которые могут вызвать проблемы с памятью. –