0

我有一个可滚动的视图,里面有几个视图,如果它们符合特定条件,我想将项目添加到其中的一些视图中,比如它们是否附加了数据。我也在使用合金,这是我的标记

<ScrollableView id="scrollableView">
    <View id="view" class='coolView'></View>
    ...
</ScrollableView>

要知道是否附加了数据,我会currentPage像这样检查属性:

function updateCurrentView(e) {
    currentView = e.currentPage;
}

但我不知道如何将项目添加到当前视图。

编辑:为了添加一些说明,我有一个标签,单击该标签允许我选择两种货币,选择时这些货币对保存在数据库中,应该显示而不是标签。所以我的猜测是检查当前视图是否保存了货币对。

4

1 回答 1

3

这里有两件事需要注意:

1.无论何时选择一种货币,该特定视图上的标签都会立即改变。

2.每当加载scrollableView时,如果选择了货币,它必须始终引用数据库。

第一个可以这样做:

1.使用合金控制器的getView方法获取scrollableView的实例。将scrollableView的id传递给它。让我们称之为myScrollableView。更多信息请参考this。

http://docs.appcelerator.com/titanium/latest/#!/api/Alloy.Controller

2.使用 var currentView=myScrollableView.getCurrentPage() 获取当前页面,该页面将是一个数字。

3.现在使用 scrollableView 实例来获取所有视图。

var viewArray=myScrollableView.getViews();

4.viewArray[currentView] 将为您提供当前页面的视图。获得视图后,您可以使用以下方法更改所需的标签:

 viewArray[currentView].children[positionOfTheView]

“positionOfTheView”可以通过使用 Ti.API.info 打印 viewArray[i].children 数组来获得。

第二件事可以如下完成:

1.使用合金控制器的getView方法获取scrollableView的实例。将scrollableView的id传递给它。让我们称之为myScrollableView。更多信息请参考this。

http://docs.appcelerator.com/titanium/latest/#!/api/Alloy.Controller

2.现在使用 scrollableView 实例来获取所有视图。

var viewArray=myScrollableView.getViews();

3.这是一个包含scrollableView中所有视图的JavaScript数组。现在遍历这个数组并根据数据库中的数据,使用以下方法更改相关视图:

viewArray[i].children[positionOfTheView]

“positionOfTheView”可以通过使用 Ti.API.info 打印 viewArray[i].children 数组来获得。

于 2013-06-03T11:46:46.527 回答