4

我正在使用 flex 4.6 和 air 3.1 为 android 开发 AIR 应用程序。在应用程序中,我有一个视图,其中有一个文本输入和一个搜索按钮。输入一些文本并单击搜索按钮后,将进入结果视图。从结果视图用户可以通过单击返回按钮返回到 searchview。SearchViewdestructonPolicy保持不变never,我navigator.popView()用来返回 searchview。问题是当我返回搜索视图时,文本输入为空,其中应该显示 txt以前键入。但是当焦点在文本输入上时,文本出现。我希望在再次显示该视图后立即显示文本。知道为什么会发生此问题

PS-当我在 android 模拟器(OS 2.3.3)中安装 apk 后检查时会发生此问题。我没有 android 设备来检查这个。所以不确定这是否只是模拟器的问题。如果我使用 flex 4.5.1sdk 这个问题没有发生

这是代码

主要的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>

主页视图.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>

结果视图.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="&lt;" click="button1_clickHandler(event)"/>
    </s:navigationContent>
</s:View>
4

1 回答 1

5

由于 Flex 4.6 上存在该问题;但不是 Flex 4.5,这可能是使用 StageText 的新默认 TextInput 外观的副作用/重绘问题。我在这里写了一点。

在您的 4.6 应用程序中,尝试设置默认的 Flex 4.5 皮肤:

<textInput skinClass="spark.skins.mobile.TextInputSkin" />
于 2012-05-02T10:27:05.913 回答