0

我在这个项目上(一个可怕的程序超臭的代码与另一个社会交给我们之前产生)。Titanium的Android本地模块 - addEventListener找不到

我们有一个原生Android模块,一个Carousel。旋转木马的每个元素都可以被点击,从而触发相应的动作。

从逻辑上说,我们只是在Titanium的instanciated模块上添加了一个addEventListener,它在第一次启动应用程序时就完全正常工作。但是,一旦我们退出并重新启动应用程序,我们会收到错误Object [Object Carousel] has no method addEventListener

我不明白为什么。 如果它第一次工作,它应该第二次工作。有没有出现错误的某种记忆?或垃圾收集失败? 这是我们在钛用于处理这个逻辑的代码:

function some_func() { 
    CF_container = null; 
    var my_module = require('com.xxxx.carousel'); 
    CF_container = my_module.createView(); 
    CF_container.addEventListener('IZ_itemClicked', function(data) { 
    evts_CF_click(data.id); 
    }); 
    return CF_container; 
} 

谢谢:)

回答

1

我怀疑问题是与代码。当我在每行的末尾严重写入没有分号的代码时,我遇到了类似的问题。这一切似乎工作正常,直到我加载一个模块,然后开始得到错误但有时只有。我在Titanium Studio中打开了JavaScript验证(首选项> Titanium Studio>验证> JavaScript - JSLint和Android UTF-8验证程序的所有内容),并修复了所有js文件中的所有错误。一旦你在任何地方都能得到正确的语法,我怀疑问题会消失。

+0

好的,让我们试试,谢谢。 – 2012-07-18 07:37:37

+0

根据JSLint,我已经清除了代码,但没有什么好结果。无论如何,这是值得的尝试。谢谢 – 2012-07-18 12:06:22