Есть ли у корневых представлений Действия в Android какие-либо предварительные знания о дочерних представлениях, которые будут загружены в них? - PullRequest
1 голос
/ 26 января 2010

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

Спасибо!

1 Ответ

3 голосов
/ 26 января 2010

Сомневаюсь.

Activity не знает о своем представлении (у него просто есть корневое окно), пока вы не вызовете setContentView() в методе onCreate().

Существует конструкция под названием ViewStub, которая позволяет задерживать накачивание определенных частей пользовательского интерфейса до тех пор, пока они вам не понадобятся, но даже тогда вы фактически ничего не узнаете о дочерних представлениях, пока не надуете их.

Что-то еще, что может представлять интерес, это ViewTreeObserver и его подклассы. Это позволяет получать уведомления при изменении иерархии представлений.

Ваша автоматизация тестирования, безусловно, звучит нетрадиционно. Интригует:)

...