Titanium 钛appcelerator tableview使用空数组设置数据时保持高度
我有一个tableview,它提供了如下数据:Titanium 钛appcelerator tableview使用空数组设置数据时保持高度,titanium,titanium-mobile,appcelerator-titanium,Titanium,Titanium Mobile,Appcelerator Titanium,我有一个tableview,它提供了如下数据: var liste = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi','Dimanche']; var days = []; for (var i = 0; i < liste.length; i++) { days.push(Alloy.createController("common/_item_tableview", {
var liste = ['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi','Dimanche'];
var days = [];
for (var i = 0; i < liste.length; i++) {
days.push(Alloy.createController("common/_item_tableview", {
text_filtre : liste[i],
checked : true,
}).getView());
}
$.my_tableview.setData(days); // or $.my_tableview.data = days;
所有的行都被删除了,但是tableview仍然保持着他的高度,你知道吗?这里是setData([])之后的屏幕截图,当我想用另一个数据重新向tableview提供数据时,会在上面添加一个位空间
谢谢。现在添加TableView的样式属性可能是个好主意。您是否使用
Ti.UI.SIZE
作为TableView的height
属性?如果没有,那么你应该这样做。如果这样做,那么在调用setData方法后重新设置它可能是一个好主意
$.my_button.addEventListener('click', function(){
$.my_tableview.setData([]);
$.my_tableview.height = Ti.UI.SIZE;
});
现在,另一件事是将TableView的高度设置为Ti.UI.FILL
以占据整个屏幕。当需要清除数据时,只需使TableView不可见,如下所示:
$.my_button.addEventListener('click', function(){
$.my_tableview.visible = false;
});
然后,如果需要再次填充,可以在设置新数据后使其可见
var newData = []; // This represents the new TableViewRow array
$.my_tableview.setData(newData);
$.my_tableview.visible = true;
看看你发布的屏幕截图,那不是一个保持高度的桌面视图,那只是一个空的桌面视图的样子 若要删除这些分隔线,请为tableview指定一个空的footerView 在xml文件中,在tableView中添加FooterView标记,如下所示:
<TableView id = "my_tableview">
<FooterView>
<View height="0"/>
</FooterView>
</TableView>
<TableView id = "my_tableview">
<FooterView>
<View height="0"/>
</FooterView>
</TableView>