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>
我有一个半年多没有开发的现有项目。 现在我需要支持它。 我已经更新了 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>