我在做这个项目(一个可怕的项目,在交给我们之前有一个完整的程序超臭代码是其他社会生产的)。
我们有一个原生的 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;
}