我有一个带有几个视图的scrollableView,如果他们符合某个标准,我想在其中一些视图中添加项目,比如他们是否附加了数据。我也在使用Alloy,这是我的标记
<ScrollableView id="scrollableView">
<View id="view" class='coolView'></View>
...
</ScrollableView>
要知道是否附加了数据,请检查currentPage
属性,如下所示:
function updateCurrentView(e) {
currentView = e.currentPage;
}
但我不知道如何将项目添加到当前视图。
编辑:为了添加一些说明,我有一个标签,点击后允许我选择两种货币,选择后这些货币对保存在数据库中,应该显示而不是标签。所以我的猜测是检查当前视图是否已保存货币对。
答案 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”。