我正在使用flex 4.6和air 3.1为android开发AIR应用程序。在应用程序中我有一个视图,其中有一个textinput和一个搜索按钮。输入一些文本并单击搜索按钮将进入结果视图从结果视图中,用户可以通过单击后退按钮返回到searchview。SearchView的destructonPolicy
保留为never
,我使用navigator.popView()
返回searchview。问题出在何时我回到搜索视图textinput是空的,其中它应该显示以前键入的txt。但是当焦点在textnput上时,文本出现。我希望一旦再次显示该视图就会显示该文本。不知道为什么会出现这个问题
PS - 当我在Android模拟器(OS 2.3.3)中检查aftr installng apk时,会发生这个问题。我没有安卓设备来检查这个。所以不确定是不是只是模拟器的一个问题。如果我使用flex 4.5.1
sdk这个问题不正在发生
以下是代码
主要mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" firstView="views.HomeView">
</s:ViewNavigatorApplication>
HomeView.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView" destructionPolicy="never">
<fx:Script>
<![CDATA[
protected function button1_clickHandler(event:MouseEvent):void
{
navigator.pushView(ResultView);
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout horizontalAlign="center"/>
</s:layout>
<s:TextInput prompt="Enter some text"/>
<s:Button label="Search" click="button1_clickHandler(event)"/>
</s:View>
ResultView.mxml:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="ResultView">
<fx:Script>
<![CDATA[
protected function button1_clickHandler(event:MouseEvent):void
{
navigator.popView();
}
]]>
</fx:Script>
<s:navigationContent>
<s:Button label="<" click="button1_clickHandler(event)"/>
</s:navigationContent>
</s:View>
答案 0 :(得分:5)
由于Flex 4.6存在问题;但不是Flex 4.5,它可能是使用StageText的新默认TextInput外观的副作用/重绘问题。我写了一点here。
在4.6应用程序中,尝试设置默认的Flex 4.5皮肤:
<textInput skinClass="spark.skins.mobile.TextInputSkin" />