0

我的应用程序有一个书名列表,当用户单击特定书名时,会打开一个 TitleWindow 来汇总有关该书的详细信息。如果用户没有关闭 TitleWindow,而是选择了不同的书名,我希望已经打开的 TitleWindow 使用新选择的书名信息进行更新。因此,任何时候都只打开一个 TitleWindow,以便查看有关任何特定书名的更多信息。

我可以在网上找到的所有 spark TitleWindow 示例在每次使用 TitleWindow 时都会打开一个新的 TitleWindow。例如:

http://help.adobe.com/en_US/flex/using/WS6c678f7b363d5da52e8f1ca1124a0430dcf-8000.html

这也是我的情况。每次单击书名时,都会打开一个新的 TitleWindow。

如果已经打开一个现有的 TitleWindow,有什么方法可以重新使用它?当然,我们不是在谈论所有 TitleWindow,只是用于此目的的 TitleWindow 的专用实例。

目前,我在 TitleWindow 中使用的变量是[Bindable],当单击新书名时,原始 TitleWindow 会更新相关信息。因此,另一种解决方案是在现有 TitleWindow 已经打开时阻止新 TitleWindows 打开。因此,另一种解决方案是查询 TitleWindow 的一个实例是否已经打开,如果是,则不要打开新的。

4

1 回答 1

3

是的,这是可能的,只需在单击第一本书时创建一个标题窗口,然后在随后的单击中重复使用它。

private var _titleWindow:TitleWindow;


private function onBookClicked():void
{
   if(!_titleWindow)
      _titleWindow = PopUpManager.createPopUp(...) as TitleWindow;

   updateTitleWindowWithBookInfo(_titleWindow,bookData);

}

当用户关闭标题窗口而不是删除它时,只需隐藏它。

于 2012-06-14T14:22:11.817 回答