尝试清除tableView只会使内容加倍

时间:2014-10-06 00:49:28

标签: ios uitableview titanium titanium-studio

我正在尝试使用更新的数据更新我的表视图,但每当我尝试使用

清除它时
tagsTable.setData();
or
tagsTable.setData([]);
or
tagsTable.data = null;

然后使用

重新应用更新的数据
tagsTable.setData(TagsData);

它最初从不清除表,所以新数据只是添加到表的末尾,所以我有旧数据以及1表中的新数据。

任何人都知道什么是错的或者如何解决它?

1 个答案:

答案 0 :(得分:0)

这是一个简单的(经典Titanium)应用程序,它通过一些按钮显示清除并重新填充表格的data属性。我会三重检查您的TagsData部分/行的有效性,以确保正确设置数组中的所有内容。

var
    win = Ti.UI.createWindow({
        title: "Table Funs",
        layout: "vertical",
        backgroundColor: "#ffffff"
    }),
    navwin = Ti.UI.iOS.createNavigationWindow({
        window: win
    }),
    table = Ti.UI.createTableView(),
    clearButton = Ti.UI.createButton({
        title: "Clear Table",
        width: Ti.UI.FILL,
        height: 44,
        backgroundColor: "#f4f4f4",
        color: "red",
        bottom: 1
    }),
    fillButton = Ti.UI.createButton({
        title: "Fill Table",
        width: Ti.UI.FILL,
        height: 44,        
        backgroundColor: "#f4f4f4",
        color: "blue",
        bottom: 1
    }),
    tableData = [];

// Fill up tableData array with rows
tableData.push(Ti.UI.createTableViewRow({ title: "Hey" }));
tableData.push(Ti.UI.createTableViewRow({ title: "this" }));
tableData.push(Ti.UI.createTableViewRow({ title: "is" }));
tableData.push(Ti.UI.createTableViewRow({ title: "a" }));
tableData.push(Ti.UI.createTableViewRow({ title: "table" }));

clearButton.addEventListener("click", function() {
    Ti.API.debug("Clicked clear button.");
    table.setData(null);
    return;
});

fillButton.addEventListener("click", function() {
    Ti.API.debug("Clicked fill button.");
    table.setData(tableData);
    return;
});

// Fill table with our data
table.setData(tableData);

// Build window
win.add(clearButton);
win.add(fillButton);
win.add(table);

navwin.open();