Titanium在scrollableView上获取当前视图并添加项目

时间:2013-05-30 09:03:57

标签: titanium titanium-mobile appcelerator-mobile titanium-alloy

我有一个带有几个视图的scrollableView,如果他们符合某个标准,我想在其中一些视图中添加项目,比如他们是否附加了数据。我也在使用Alloy,这是我的标记

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

要知道是否附加了数据,请检查currentPage属性,如下所示:

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

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

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

1 个答案:

答案 0 :(得分:3)

这里有两件事需要处理:

1.无论何时选择货币,该特定视图上的立即标签都将发生变化。

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

第一个可以完成:

1.使用合金控制器的getView方法获取scrollableView的实例。将scrollableView的id传递给它。让我们将其命名为myScrollableView.Refer 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]

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

第二件事可以完成如下:

1.使用合金控制器的getView方法获取scrollableView的实例。将scrollableView的id传递给它。让我们将其命名为myScrollableView.Refer this以获取更多信息。

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

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

var viewArray=myScrollableView.getViews();

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

viewArray[i].children[positionOfTheView]

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