钛合金在android上崩溃,无法调用未定义的'open'方法

时间:2014-11-02 21:23:26

标签: android titanium

在Android上运行这个非常基本的项目时出现此错误。 我有android和iphone作为构建目标,并试图清理项目。 必须是我缺少的一些非常基本但我无法看到的东西

INDEX.XML

<Alloy>
    <NavigationWindow id="navWin" platform="ios">
        <Window>
            <Label id="label">Hello, World</Label>
        </Window>
    </NavigationWindow>
</Alloy>

index.js

if(OS_IOS){
    $.navWin.open();    
}else{
    $.index.open();
}

3 个答案:

答案 0 :(得分:1)

您收到此错误的原因是您无法在Android平台上打开任何对象。

<Alloy>
    <NavigationWindow id="navWin" platform="ios">
        <Window>
            <Label id="label">Hello, World</Label>
        </Window>
    </NavigationWindow>
    <Window platform="android">
        <! - -  your content - - >
    </Window>
</Alloy>

答案 1 :(得分:1)

android中崩溃应用程序的原因: - 在android导航窗口中没有来导航窗口没有打开...那么它会崩溃......

所以,请在index.html中使用此代码

<Alloy>
<Window id='index'>
  <Label id="label">Hello, World</Label>
    </Window>
   </Alloy>

并在index.js

$.index.open();

答案 2 :(得分:0)

此错误仅表示您尚未指定任何索引元素。将其插入到与iOs组件相同的层次结构中的xml中。

<Window id="index" platform="android">
    <! - -  your content - - >
</Window>

因为您指定主窗口存在于iO中,所以它永远不能在Android中调用,因此除非您实现建议的代码,否则Android上的合金根本没有元素。您的.js文件可以保持不变,因为代码段包含一个窗口,其中包含您在js中引用的正确ID。