【问题标题】:Titanium Android native module - addEventListener not foundTitanium Android 本机模块 - 未找到 addEventListener
【发布时间】:2012-07-16 02:48:21
【问题描述】:

我在做这个项目(一个可怕的项目,在交给我们之前有一个其他社会生产的完整的程序超臭代码)。

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

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

我不明白为什么。 如果它第一次工作,它应该第二次工作。是否存在某种错误的记忆?还是垃圾回收失败? 这是我们在 Titanium 中用于处理此逻辑的代码:

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;
}

【问题讨论】:

    标签: javascript android titanium dom-events titanium-mobile


    【解决方案1】:

    我怀疑问题出在那个代码上。当我在每行末尾没有分号的代码写得很糟糕时,我遇到了类似的问题。一切似乎都正常,直到我加载了一个模块然后开始出现错误但只是有时。我在 Titanium Studio 中打开了 JavaScript 验证(Preferences > Titanium Studio > Validation > JavaScript - Everything by JSLint and Android UTF-8 Verifier)并修复了所有 js 文件中的所有错误。一旦你在任何地方都得到了正确的语法,我怀疑问题就会消失。

    【讨论】:

    • 我已经清理了代码,根据 JSLint 但没有什么好的结果出来。无论如何,这是值得一试的。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    相关资源
    最近更新 更多