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