知识产权 - Titanium app中的java.lang.StackOverflowError

时间:2013-09-18 14:55:08

标签: android titanium stack-overflow

我有适用于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。

以下是log

你知道原因是什么吗?该视图效果很好但是当我在可滚动视图中添加它时,app会意外停止。

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

提前致谢

更新

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

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

此代码有效:

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

0 个答案:

没有答案