Appcelerator 钛运行时错误

Appcelerator titanium runtime error

我有一个半年多没有开发的现有项目。 现在我需要支持它。 我已经更新了 Titanium SDK 和项目中使用的所有其他库。 但是在设备上启动应用程序后,我遇到了运行时错误。 错误截图:

我很惊讶,因为这是准备投入生产的稳定版应用程序。因此只有在更新库之后才会发生此错误。 以下是部分代码:

这是 'index' 视图:

<?xml version="1.0"?>
<Alloy>
<Widget id="drawer" src="nl.fokkezb.drawer">
    <Window module="xp.ui" role="leftWindow" >
        ......
    </Window>
    <NavigationWindow platform="ios" role="centerWindow">
        <Require type="view" src="Home"/>
    </NavigationWindow>
    <Window module="xp.ui" platform="android" role="centerWindow" home="Home">
        <Require type="view" src="Home"/>
    </Window>
</Widget>
</Alloy>

和HOME.xml

<Alloy>
<Window id="winHome" platform="ios" class="container whiteBackground no-navbar" navBarHidden="true" layout="vertical" opacity="1">
    <Require type="view" src="homeContent"></Require>
</Window>
<Window id="winHome" platform="android" class="container whiteBackground no-navbar" navBarHidden="true" layout="vertical" opacity="1">
    <Require type="view" src="homeContent"></Require>
</Window>
</Alloy>

和主页内容:

<Alloy>
<View id="winHomeContent" class="container whiteBackground" layout="composite" visible = "false">
    <View class="ver">
        .........
    </View>
    <View bottom="0" class="h-size">
        <Require type="view" src="homeFooter"/>
    </View>
</View>
</Alloy>

我看到 'index' 和首页视图都有 "Window" 标签。 但是这个确切的代码在更早的时候就起作用了。

index 中的 module="xp.ui"Window 转换为 View for Android。在您的 Home.xml 上,两个平台都有 1 Window,但代码是相同的!因此,在您的 Home.xml 中将 Window 替换为 View,如下所示:

<View id="winHome" platform="android" class="container whiteBackground no-navbar" navBarHidden="true" layout="vertical" opacity="1">
    <Require type="view" src="homeContent"></Require>
</View>

您的问题在两个平台上都有? iOS ? Android ? 对了,你的截图不是public所以我们看不到。

来自 index.xml 文档 nl.fokkezb.drawer

centerWindow 角色是 View 而不是 Window

<Alloy>
    <Widget id="drawer" src="nl.fokkezb.drawer">

        <Window module="xp.ui" role="leftWindow">
            <Label>I am left</Label>
        </Window>

        <NavigationWindow platform="ios" role="centerWindow">
            <Window>
                <LeftNavButton>
                    <Button onClick="toggle">Left</Button>
                </LeftNavButton>
                <Label>I am center</Label>
                <RightNavButton>
                    <Button onClick="toggle">Right</Button>
                </RightNavButton>
            </Window>
        </NavigationWindow>
        <View platform="android" role="centerWindow">
            <Label>I am center</Label>
        </View>

        <Window module="xp.ui" role="rightWindow">
            <Label>I am right</Label>
        </Window>

    </Widget>
</Alloy>