Android, я могу написать файл макета XML программно и загрузить его с помощью функции setContentView (R.layout.test_1)? - PullRequest
1 голос
/ 15 марта 2012

Я хочу программно записать XML-файл макета на SD-карту или в другое хранилище, и при загрузке приложения оно будет загружать файл как макет с помощью функции setContentView или любым другим способом. это возможно?

Ответы [ 3 ]

4 голосов
/ 15 марта 2012

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

2 голосов
/ 15 марта 2012

Решение заключается в создании пользовательского XML-декодера, который считывает ваш XML из файла, затем создает программно необходимые представления, а затем setContentView (представление).Декодер не является тривиальным, если вы используете много параметров в XML.

0 голосов
/ 16 июня 2014

Вы можете попробовать использовать метод inflate (XmlPullParser parser ....) из LayoutInflater.Но ресурсы будут загружены из ресурсов контекста.

...