Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.02.2012, 12:53
zigfridus вне форума Посмотреть профиль Отправить личное сообщение для zigfridus Найти все сообщения от zigfridus
  № 1  
Ответить с цитированием
zigfridus

Регистрация: Sep 2011
Сообщений: 24
По умолчанию Некорректная работа state

Добрый день.
2-й день вожусь с mxml и не могу найти ошибку.
Есть большой mxml. Привожу его частично, если будет нужно, то покажу остальное.
Код AS3:
<?xml version="1.0" encoding="utf-8"?>
<s:NavigatorContent xmlns:fx="http://ns.adobe.com/mxml/2009"
					xmlns:s="library://ns.adobe.com/flex/spark"
					xmlns:mx="library://ns.adobe.com/flex/mx"		
					xmlns:cookbook="cookbook.*"					
					minWidth="1200" minHeight="850" >
 
<s:states>
	<s:State name="admins"/>
	<s:State name="guests"/>
</s:states>
 
<s:VGroup id="rightGroup" horizontalAlign="left" verticalAlign="middle">
	<mx:Accordion id="accordion" width="340" height="490">
		<s:NavigatorContent width="100%" height="100%" label="Фильтр" includeIn="admins">
		.............
		.............
		.............
		</s:NavigatorContent>
 
		<s:NavigatorContent width="100%" height="100%" label="Контент 1">
		.............
		.............
		.............							
		</s:NavigatorContent>
 
		<s:NavigatorContent width="100%" height="100%" label="Контент 2">
		.............
		.............
		.............
		</s:NavigatorContent>
 
		<s:NavigatorContent width="100%" height="100%" label="Контент 3">
		.............
		.............
		.............
		</s:NavigatorContent>					
	</mx:Accordion>
</s:VGroup>
</s:NavigatorContent>
Проблема заключается в том, что компонент NavigatorContent под названием "Фильтр" не отображается ни в одном состоянии, включая состояние "admins". Экспериментировал - подставлял includeIn="admins" в различные компоненты (к примеру в Accordion или VGroup), в них состояние работает корректно. Но, если подставлять в любой компонент NavigatorContent, то он не отображается ни в одном состоянии.

Может кто-то с чем-то подобным сталкивался? Подскажите, как проблему решить?

Старый 10.02.2012, 14:31
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
http://bugs.adobe.com/jira/browse/SDK-28020 - говорят, что пофиксили, я не проверял. В любом случае не стал бы пользоваться стейтами, да и MXML бы не использовал
__________________
Hell is the possibility of sanity

Старый 10.02.2012, 15:38
zigfridus вне форума Посмотреть профиль Отправить личное сообщение для zigfridus Найти все сообщения от zigfridus
  № 3  
Ответить с цитированием
zigfridus

Регистрация: Sep 2011
Сообщений: 24
Похоже указанный баг пофиксили. Запустил у себя вложенный в описание бага mxml и он отработал без ошибок.
Моя проблема похожа на эту. В моем случае содержимое NavigatorContent находится на вкладке, которая по-умолчанию при запуске приложения скрыта. При этом абсолютно аналогичное содержимое на вкладке, открываемой по-умолчанию со стейтами работает корректно. Пробовал присвоить каждому NavigatorContent свой id - это в описание бага указано, как временное решение, но не помогло.

Цитата:
Сообщение от wvxvw Посмотреть сообщение
http://bugs.adobe.com/jira/browse/SDK-28020 - говорят, что пофиксили, я не проверял. В любом случае не стал бы пользоваться стейтами, да и MXML бы не использовал
А как же во Flex без стейтов? Я при их помощи разграничиваю доступ к приложению...

Добавлено через 4 часа 42 минуты
Люди, подскажите, что нужно сделать, чтобы состояния корректно заработали?
Программу уже сдавать надо и только с этими состояниями затык вышел

Старый 11.02.2012, 20:59
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Ну, что сделать... переопределить set currentState и самому реализовать чего там показывать или скрывать.
А по поводу стейтов - ну так во флексе они реализованы через многоточие... Смысл стейта заключается в том, чтобы отделить часть кода, которая выполняется в определенной ситуации от части кода, которая выполняется в другой - чтобы они вообще не пересекались, и чтобы не писать кучу ифов. Флекс, естесственно, все делает наоборот - создает невнятную кашу, в которой потом уже не разобраться. Вот только если бы это была единственная вещь сделаная во флексе через многоточие...
__________________
Hell is the possibility of sanity

Старый 13.02.2012, 13:01
zigfridus вне форума Посмотреть профиль Отправить личное сообщение для zigfridus Найти все сообщения от zigfridus
  № 5  
Ответить с цитированием
zigfridus

Регистрация: Sep 2011
Сообщений: 24
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Ну, что сделать... переопределить set currentState и самому реализовать чего там показывать или скрывать.
А по поводу стейтов - ну так во флексе они реализованы через многоточие... Смысл стейта заключается в том, чтобы отделить часть кода, которая выполняется в определенной ситуации от части кода, которая выполняется в другой - чтобы они вообще не пересекались, и чтобы не писать кучу ифов. Флекс, естесственно, все делает наоборот - создает невнятную кашу, в которой потом уже не разобраться. Вот только если бы это была единственная вещь сделаная во флексе через многоточие...
Извиняюсь возможно за дурацкий вопрос (это моя 1-я программа на Флексе), но где именно переопределяется set currentState?

Добавлено через 2 часа 0 минут
Разобрался...это я дурак

Вместо того, чтобы использовать в <mx:TabNavigator> в качестве закладок <mx:VBox>, я использовал <s:NavigatorContent>. Поменял везде на <mx:VBox> и состояния заработали корректно.

Спасибо за помощь

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:28.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.