Flex TileList itemrenderer + scroll = АД - PullRequest
0 голосов
/ 06 июля 2011

Я схожу с ума по этой проблеме. По сути, у меня есть TileList с пользовательским средством визуализации элементов, в котором есть TextInput. Допустим, в списке могут отображаться 4 элемента одновременно, если есть 5 элементов, и я редактирую текст первого, то будет редактироваться и пятый. В общем случае, если элемент не виден, он изменится, когда я отредактирую отображаемый элемент.

Кроме того, я переопределил класс TileList для предоставления свойства rendererArray (чтобы я мог получить доступ к текстам каждого средства визуализации), но он будет возвращать только те средства отображения, которые отображаются.

Любая помощь приветствуется. Мне нужно знать, как переопределить это странное поведение с помощью itemrenderers, которые в данный момент не отображаются. Спасибо.

1 Ответ

1 голос
/ 06 июля 2011

Хорошо, если кто-нибудь столкнется с подобной проблемой, вот что вам нужно сделать:

Прежде всего, избегайте попыток перебирать элементы, как я.Если вам нужен TextInput или другой элемент управления в вашем TileList, убедитесь, что эти элементы управления привязаны к свойству объекта данных, в противном случае внеэкранные элементы будут иметь неправильные значения, так как их обработчики элементов будут перезаписаны из элементов, которые покинули экран, когдаВы прокрутили.

Если вы обдумаете это, любое требование может быть решено путем перебора провайдера данных вместо itemrenderers.

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

Надеюсь, это не слишком запутало..

...