【问题标题】:Titanium app crashes when removing pages from ScrollableView从 ScrollableView 中删除页面时,Titanium 应用程序崩溃
【发布时间】:2015-01-10 13:01:01
【问题描述】:

我有一个应用程序使用 ScrollableView 和动态添加的页面。我有一个删除视图的功能。如果我没有更改ScrollableView 中的页面,则页面将被删除。但是,如果我滚动到不同的页面,即不是第一页,则尝试删除应用程序崩溃的页面。在 iOS 上没问题,但我在 Android 上遇到了问题。

这是从ScrollableView 中删除视图的函数。

function emptyScrollView(){
    var views = $.bookables_scroll.views;
    var count = views.length;
    for (var i = 0; i < count; ++i) {
        $.bookables_scroll.removeView(views[i]);
        $.bookables_scroll.views[i] = null;
    }
}

这是向我的ScrollableView 添加视图的代码

var payload = {
    bookable : bookable,
    rota: b_rota,
    current_date: current_date,
};

// adds to scrollable view
$.bookables_scroll.addView(Alloy.createController('appointments_bookable', payload).getView());

当我从第一个视图/页面滚动后删除视图/页面时,为什么应用会崩溃?

钛 v3.4.0 合金 v1.5.1

【问题讨论】:

  • 您在控制台中看到了什么错误消息?
  • 合金+钛版也
  • @phil 用这些版本更新了我的 Q。我在控制台中没有收到错误。我只是弹出“不幸的是,应用程序名称已停止”。
  • 在logcat中检查错误,会有一些。还有你怎么打电话给emptyScrollView(),你能显示一些代码吗?

标签: javascript android titanium


【解决方案1】:

if ($.bookables_scroll && $.bookables_scroll.children != undefined) {

// Save childrens
var removeData = [];

for (i = $.bookables_scroll.children.length; i > 0; i--) {
    removeData.push($.bookables_scroll.children[i - 1]);
};

// Remove childrens
for (i = 0; i < removeData.length; i++) {
    $.bookables_scroll.remove(removeData[i]);
}
removeData = null;

}

尝试将子视图保存到数组中,然后使用另一个循环删除可滚动视图中的所有页面。

希望对你有帮助。

谢谢

【讨论】:

  • 那行不通。 $.bookables_scroll.children 显示为空数组
【解决方案2】:

在尝试了许多删除方法后,我遇到了同样的问题,我最终删除了该可滚动视图的所有侦听器,删除它,使用 removeAllChildren 删除它的子控制器,清理他的每个子控制器并使用新子创建一个新控制器视图并替换它。是的,这不是最好的方法,但组件总是与我尝​​试的任何其他事情一起崩溃。

【讨论】:

    【解决方案3】:

    它是 Titanium ScrollableView 中的一个错误,并在 SDK 5.4.0 中修复,正如他们在 Jira 中确认的那样

    https://jira.appcelerator.org/browse/TIMOB-20116

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多