0

我有一个适用于 Android 和 IOS 的钛金属应用程序。该应用程序很复杂,因为它加载了不同的模块。我的意思是,我有一个视图,在视图的顶部我加载了一个带有其他组件的模块,在中间加载了另一个带有 webview 的模块,在底部加载了另一个带有按钮的模块。

如果我在我的应用程序中加载此视图,它可以正常工作。但我想创建一个可滚动的视图并添加具有不同参数的相同视图。像这样:

var scrollableView = Ti.UI.createScrollableView({
    views : [new MyView("View 1", "red"), new MyView("View 2", "green"), new MyView("View 3", "blue")],
    showPagingControl : true
});

当我尝试这个(只添加一次视图)时,我有一个 java.lang.StackOverflowError。

这是日志

你知道可能是什么原因吗?该视图运行良好,但是当我将其添加到可滚动视图中时,应用程序意外停止。

你知道我怎么知道问题出在哪里吗?

提前致谢

更新

我附上这个问题,但我不明白。

我发现问题出在我添加一些组件视图和模块时。我简化了添加这些组件的方式,并且我发现了它何时起作用以及何时不起作用。

此代码有效:

var topCircleViewPortrait = Ti.UI.createView({
    height : utils.getTopCircleHeight(),
    width : view.width,
    top : 0,
    backgroundColor : "transparent"
});

var scrollView = Ti.UI.createScrollView({
    contentWidth : 'auto',
    showHorizontalScrollIndicator : true,
    height : '100%',
    width : '100%',
    scrollType : 'horizontal',
    left : 0,
    right : 0
});

topCircleViewPortrait.add(scrollView);

var circulo = Circular_graph.Constructor(circularGraphs, 'IB', '#cf1022', '#960913', '#960913');
circulo.update('80', '80', '50', 1);

scrollView.add(circulo);

view.add(topCircleViewPortrait);

但是,我想在我的滚动视图中添加更多“Circular_graph”,所以我尝试创建一个水平布局的视图,将不同的“Circular_graphs”添加到该视图中,然后将该视图添加到我的滚动视图中。它不起作用。

这是不起作用的代码:

var topCircleViewPortrait = Ti.UI.createView({
    height : utils.getTopCircleHeight(),
    width : view.width,
    top : 0,
    backgroundColor : "transparent"
});

var scrollView = Ti.UI.createScrollView({
    contentWidth : 'auto',
    showHorizontalScrollIndicator : true,
    height : '100%',
    width : '100%',
    scrollType : 'horizontal',
    left : 0,
    right : 0
});

topCircleViewPortrait.add(scrollView);

var circularGraphs = Ti.UI.createView({
    height : parent.height,
    width : Titanium.UI.SIZE,
    backgroundColor : "transparent"
});

var circulo = Circular_graph.Constructor(circularGraphs, 'IB', '#cf1022', '#960913', '#960913');
circulo.update('80', '80', '50', 1);

circularGraphs.add(circulo);
scrollView.add(circularGraphs);

view.add(topCircleViewPortrait);
4

0 回答 0