AIR 移动应用程序上 TextArea 中的文本显示片刻后消失

Posted

技术标签:

【中文标题】AIR 移动应用程序上 TextArea 中的文本显示片刻后消失【英文标题】:Text in TextArea on AIR mobile app disappears after displaying for a moment 【发布时间】:2012-03-19 11:21:25 【问题描述】:

我遇到了一个非常奇怪的问题,我尝试使用文本区域在移动 AIR 应用程序上显示一些文本。每当我在桌面上使用手机模拟器进行调试时,它都可以正常工作,但是每当我将应用程序放在手机上时,文本就会显示,然后消失。我还注意到,如果我锁定屏幕并解锁,当我回来时文本会显示得很好。

代码如下:

<?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="Program Overview">
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>

<fx:Script>
    <![CDATA[
        [Bindable]
        private var text:String = "Hey how are ya";
    ]]>
</fx:Script>

<s:TextArea text="text" editable="false" />

</s:View>

另一个值得注意的有趣的事情是它只发生在某些视图上,并且只发生在第一个 ViewNavigator 选项卡中的视图上。这使我相信我对 TextArea 的使用并没有什么问题,但是在应用程序的更高级别上发生了其他事情。关于我应该寻找什么的任何想法?

【问题讨论】:

当我在移动设备上运行带有冰淇淋三明治时,我确实看到了一些关于 TextAreas 和 4.6 SDK 的奇怪问题,在模拟器中,我使用软键盘时一切都很好,我得到了随机重新插入字符(好像从缓冲区中获取但缓冲区未正确更新或其他内容)。更多关于移动和文本的信息,但没有真正好的理由这是一个问题:help.adobe.com/en_US/flex/mobileapps/… 可能会提供设备操作系统版本和 Flex/AIR 版本。 如果可以,请尝试使用 StyleableTextField 而不是 TextArea。根据我的经验,它在 androidios 设备上运行良好。不过,还没有时间用 ICS 对其进行测试。 如果 TextArea 不可编辑,为什么还要使用它?为什么不直接使用标签?另外,尝试更新到 4.6 SDK。在 4.6 中,移动文本发生了一些重大变化。 @J_A_X 我没有使用标签,因为我需要能够设置文本样式。 (一旦它起作用了)-user1069487 谢谢,我会试一试-shaunhusain 我在 4.6 上,但不是试图在 ICS 上运行,只是 Gingerbread,它在手机上不起作用,这绝对是古怪的,但是在模拟器上 【参考方案1】:

我认为添加 skinClass 可以解决问题:

这是用于文本区域的:

<s:TextArea id="text1" skinClass="spark.skins.mobile.TextAreaSkin" text="myVar"/>

这是文本输入:

<s:TextInput id="text2" skinClass="spark.skins.mobile.TextInputSkin" text="myVar"/> 

希望对你有帮助!

【讨论】:

欢迎来到 Stack Overflow!在发布多个问题的复制和粘贴样板/逐字答案时要小心,这些往往被社区标记为“垃圾邮件”。如果您这样做,则通常意味着问题是重复的,因此请将它们标记为:***.com/questions/9563788【参考方案2】:

我最终按照@Al_Birdy 的建议用 StyleableTextFields 替换了我所有的 TextArea,这解决了这个问题。因为你只能在 AS 中使用它们,所以布局和样式有点困难,但绝对值得修复。

【讨论】:

以上是关于AIR 移动应用程序上 TextArea 中的文本显示片刻后消失的主要内容,如果未能解决你的问题,请参考以下文章

单击文本框时会触发哪个 javascript 事件?

无法从移动设备将光标放在填充空格的 TEXTAREA 上

flex textarea 和文本交互中的 css 支持

微信小程序-textarea中的文本读取以及换行问题

php 在重新启动php上保存textarea中的文本

无法在 AIR 中加载的 SWF 中的文本字段上进行复制/粘贴