![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 164
|
Такая ситуация: у меня есть класс MyViewStack extends ViewStack. MyViewStack содержит в себе мои кастом компоненты:
<MyViewStack>
<Canvas>
<myCustomComponent id="0"/>
<Canvas>
<Canvas>
<myCustomComponent id="1"/>
<Canvas>
</MyViewStack>
1. пройтись по всем вложенным коспонентам MyViewStack 2. выбрать из них нужный (а нужны мне myCustomComponent) 3. сделать его selected Когда я в цикле вызваю у MyViewStack getChildAt(i) я получаю канвасы, причем у того канваса который видим numChildren не равно 0, у всех остальных numChildren==0. Как то можно получить доступ ко ВСЕМ вложенным элементам всех вложенных элементов MyViewStack ??? |
|
|||||
|
Modus ponens
|
Просто предположение... а что показывает rawChildren? Судя по всему дети создаются, когда создается очередной канвас... не уверен, что до этого можно как-то получить их количество...
Да, еще, как вариант, можно сначала канвасу задать creationPolicy = ContainerCreationPolicy.ALL, тогда он по-идее должен сразу создавать детей а не когда они будут видны... хотя, ИМО, лучше так не делать, а все таки ждать, когда дети будут созданы, и по мере необходимости с ними работать...
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 26.09.2008 в 15:11. |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 164
|
rawChildren показывает numChildren=0 для всех канвасов, кроме активного в данный момент... А чтобы сделать канвас внутри стэка активным достаточно только установить selectedIndex или после этого еще какие то методы нужно вызывать? Это я к тому что можно было бы пройтись по канвасам и делая их селектед искать в них нужный компонент.
|
|
|||||
|
Регистрация: Jun 2006
Сообщений: 164
|
И да, я установил у MyViewStack creationPolicy="all" и у всех канвасов создались все дети. А почему лучше так не делать ?
|
|
|||||
|
Modus ponens
|
Потому что, представь, что часным случаем контейнера может быть лист / таблица с 10000 (.... много нулей) элементов. Если их взять, и за 1 раз отрендерить - никаких ресурсов не хватит. Конечно, если заранее извесно, что элементов не много, то разницы практически никакой. Но в глобальном плане - лучше рендерить / обрабатывать по мере надобности, это как бы и технологичнее и красивше =)
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Jun 2006
Сообщений: 164
|
Ну да, в общем то я согласен, но в моем случае это будет не больше 10 элементов, так что думаю что можно забить ) Спасибо за наводку кстати ;-)
|
|
|||||
|
Регистрация: Dec 2007
Сообщений: 52
|
зачем здесь используются канвасы? можно их удалить.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 20:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|