Я создаю интерфейс, который имеет несколько разных состояний для разных шагов. Для этих шагов есть данные, которые я извлекаю из базы данных для заполнения определенных полей.
На данный момент я делаю один запрос базы данных, чтобы вернуть все данные, и хочу заполнить все поля одновременно, но это дает мне «доступ к нулевой ссылке на объект».
Кажется, что существует проблема с областью действия, когда вы пытаетесь получить доступ к текстовому полю ввода с помощью Actionscript, когда состояние, в котором находится текстовый ввод, не является текущим состоянием.
Есть ли способ обойти это?
Например (это выдает ошибку «Null object reference»):
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
creationComplete="init()">
<s:states>
<s:State name="State1"/>
<s:State name="state2"/>
</s:states>
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function init(event:FlexEvent):void
{
ti_test.text = "Hello World";
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:TextInput id="ti_test" includeIn="state2" x="323" y="197"/>
</s:Application>