关闭窗口并打开一个新的钛合金窗口

3
我需要关闭windows2来打开windows3。我有以下代码:我是一个titanium的初学者,请帮帮我。
    //Windows1.XML
    <Alloy>
        <Window exitOnClose="false">
            <Button   onClick="openWindows2" visible="false">
            </Button>
        </Window>
    </Alloy>
    CONTROLLER
    //Window1.js
    function openWindows2(e)
    {
      var Window2=Alloy.createController('Window2').getView();
      newWindows.open(); 
    }
    $.Windows1.open()

这段代码是在Windows1上与第一个控制器一起打开的第二个视图 // Window2.XML
    <Alloy>
        <Window exitOnClose="false">
            <Button   onClick="openWindows3" visible="false">
            </Button>
        </Window>
    </Alloy>

控制器函数打开窗口3 //Window2.js

    function openWindows3(e)
    {
      var Window3=Alloy.createController('Window3').getView();
      newWindows.open(); 
    }
    $.Windows2.open()

我的Windows 3 //Window3.XML

    <Alloy>
        <Window exitOnClose="false">
            <Button  onClick="anotherFn" visible="false">
            </Button>
        </Window>
    </Alloy>
    //Window3.js
    $.Windows3.open()

你的示例中没有任何变量调用newWindows...请再试一次! - Aaron Saunders
3个回答

6

1

将此函数放在Window2.js文件中:

function openWindow3(){
Alloy.createController('Window3');
$.Window2.close();
}

window3.js:

$.Window3.open();

0

首先,在Android中同时关闭一个窗口并打开一个新窗口是不起作用的。应用程序会崩溃。相反,我建议删除窗口的所有子元素并隐藏它(仅适用于Android),对于IOS,您可以关闭它。这样也可以管理内存泄漏。

关于打开一个窗口,请避免初始化新对象,因为它们会占用内存。直接使用open函数即可。例如:

Alloy.createController('mycoolwindow').getView().open();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接