Есть ли способ добавить XML-код в XML-файл из кода Kotlin?

Вопрос может показаться непонятным только из-за названия, поэтому позвольте мне уточнить, что я имею в виду. Из того немногого, что я пробовал в HTML и JavaScript, вы можете добавить строки HTML в файл HTML с помощью функции Javascript в файле script.js, и это добавит те строки HTML, которые вы написали в функцию, в файл HTML. при выполнении, и это будет работать так, как если бы вы написали это в файле HTML для начала. Это было мое понимание того, как это работало, по крайней мере, если я ошибаюсь в своей оценке, не стесняйтесь поправлять меня в этом вопросе.

В любом случае, мне интересно, можем ли мы сделать нечто подобное в Android Studio, где мы можем использовать функцию Kotlin для добавления строки/атрибута/команды XML, например «app:srcCompat="@drawable/whatever"' в файл XML.

Конечно, вопрос исходит не из простого чувства удивления. В настоящее время у меня есть приложение с фрагментом, которое должно получить несколько футбольных команд из базы данных Room и отобразить их в CardViews с помощью RecyclerView. В этих карточках должно отображаться название команды и ее логотип. У меня нет логотипов в виде файлов изображений в самой базе данных Room, однако есть столбец, в котором хранятся имена файлов для рисования, в которых хранятся логотипы команд. (Например: логотип команды А хранится в чертежах как «teama.png», а «команда» хранится в столбце.)

В классе адаптера RecyclerView я хочу использовать функцию bind(), чтобы поместить имя и логотип на карточки. Что я ожидаю сделать (связанное с моим вопросом в целом), так это использовать функцию, которая может принимать строковый параметр ("app:srcCompat="@drawable/teama"") и помещает его в XML-файл элемента моей команды. Это возможно? Я также открыт для других решений и могу опубликовать код, если потребуется.

Спасибо за ваш ответ заранее.

1
0
62
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

До сих пор эта технология недоступна, а если и доступна, то не так известна и не используется.

Ответ принят как подходящий

Есть ли способ добавить XML-код в XML-файл из кода Kotlin?

Да, но не в контексте того, о чем вы спрашиваете.

Что я ожидаю сделать (связанное с моим вопросом в целом), так это использовать функцию, которая может принимать строковый параметр ("app:srcCompat="@drawable/teama"") и помещает его в XML-файл элемента моей команды. Это возможно?

Нет. Вы не можете изменить содержимое XML-файла ресурсов во время выполнения.

Из того немногого, что я пробовал в HTML и JavaScript, вы можете добавить строки HTML в файл HTML с помощью функции Javascript в файле script.js, и это добавит те строки HTML, которые вы написали в функцию, в файл HTML. при выполнении, и это будет работать так, как если бы вы написали это в файле HTML для начала.

JavaScript, запущенный в браузере, не изменяет файл HTML на сервере. Он изменяет DOM: проанализированное представление HTML, которое используется браузером для отображения пользовательского интерфейса на экране.

Точно так же в Android вам нужно будет обновить объекты View, созданные в результате анализа этого XML-файла ресурсов, чтобы отразить желаемое имя и логотип. Этот подход описан в книгах и курсах по разработке приложений для Android. FWIW, вот моя бесплатная книга на эту тему.

Я вижу, тогда я неправильно строил HTML в своей голове. Большое спасибо за подробный ответ, и я проверю книгу, как только закончу свой текущий проект!

garlanthegallant 27.12.2022 18:07

Другие вопросы по теме