2015-03-21 3 views
-2

Я новичок в Android и борюсь с пользовательскими видами. Мне интересно, можно ли каким-либо образом генерировать код из XML, чтобы я мог просто вставить его в свой собственный класс представления, создать любые функции, которые мне нужны, а затем обойтись без XML-файла, вместо того чтобы потерять сон над инфляцией, наборов атрибутов и Xml-съемников.Как сгенерировать код из XML?

+0

Если вы новичок в Андроид, то зачем вам суетиться с пользовательскими видами? Если более 5% разработчиков Android когда-либо внедряют класс Android 'View' в своей жизни, я был бы ошеломлен. Даже для тех, кто это делает, это довольно продвинутая тема, а не то, что я бы посоветовал для кого-то нового для платформы. – CommonsWare

+0

Потому что мне дали довольно сложный проект, и другие решения, которые я могу определить, одинаково трудны. Возможность вставить код, созданный с помощью XML, действительно облегчит жизнь. –

+1

«Потому что мне дали довольно сложный проект, и другие решения, которые я могу определить, одинаково трудны» - это маловероятно. «Возможность вставить код, созданный с помощью XML, действительно облегчит жизнь» - нет никакого «кода, генерируемого из XML» в отношении инфляции компоновки, больше, чем «код, созданный из HTML» в Веб-браузер или «код, созданный с помощью« .XSLX »в Microsoft Excel. Макетная инфляция создает объектную модель; он не генерирует исходный код. – CommonsWare

ответ

2

Инфляция генерирует код, а точнее реальные объекты, из XML. Он читает ваш XML и создает иерархию представлений, которая будет использоваться для отображения пользовательского интерфейса.

Вы определенно хотите придерживаться XML-макетов. Я знаю, что это странно. Когда я впервые увидел их, моя первая мысль была «OMG, а не XML». Но, оказывается, на самом деле это хорошо продуманная система, и использование XML-макетов делает вас более продуктивными.

EDIT:

Если вам нужно сделать некоторую дополнительную работу в пользовательском View после того, как она будет завышена, перекручивания onFinishInflate().

+0

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

+0

Проверьте мои изменения, возможно, это поможет вам больше. – gruszczy

+0

Спасибо. Это именно то, что я искал. :-) –