Appcelerator Titanium JS:表字母索引不起作用

时间:2014-03-31 13:36:24

标签: titanium appcelerator titanium-alloy

我正试图利用TableView索引属性来创建本机右手字母导航 - 类似于Apple iOS Contacts应用程序中的导航 - 如下图所示:

enter image description here

我创建了一个非常简单的示例,带有一组行,带有行标题,但它不起作用 - 每当我点击索引项时,它只会再次跳转到TableView的顶部。

这是我的示例代码:

// Create the first TableViewSection
var section1 = Ti.UI.createTableViewSection({
    headerTitle:'A'
});
// use a loop to add some rows
for (var i=0; i < 20; i++) {
    section1.add(Ti.UI.createTableViewRow({
        title:'Row '+i
    }));
}
// do it all again...
var section2 = Ti.UI.createTableViewSection({
    headerTitle: 'B'
});
for (var i=4; i < 10; i++) {
    section2.add(Ti.UI.createTableViewRow({
        title:'Row '+i
    }));
}
// Now, here's our table, and we're setting the data to hold the sections
var tv = Ti.UI.createTableView({
    data:[section1,section2]
});

// Create a table view index
var index = [
    { title: "A", index: 0 },
    { title: "B", index: 1 }
];

// Set the index on the table view
tv.setIndex(index);

$.index.open();
$.index.add(tv);

1 个答案:

答案 0 :(得分:4)

以下是亲爱的

示例
var win = Ti.UI.createWindow();

var table = Ti.UI.createTableView({});

    var contacts = ["Adam", "Andrew", "Boris", "Claus", "Debby", 'Saba', 'Sana', 'Wahhab', 'Zohaib', 'Zzaid', 'Zzxad'];
    var curheader = 'A';
    var sectionArr = [];
    var index = [];
    for (var i = 0, lastL, l, currSection, ilen = contacts.length; i < ilen; i++) {
        l = contacts[i].substr(0, 1);
        if (lastL != l) {
            index.push({
                title : l,
                index : i
            });
            currSection = Ti.UI.createTableViewSection({
                headerTitle : l
            });
            sectionArr.push(currSection);
        }
        currSection.add(Ti.UI.createTableViewRow({
            title : contacts[i],

        }));
        lastL = l;

    }
    table.setData(sectionArr);
    table.index = index;
    win.add(table);
    win.open();

由于