titanium - 我可以在 Titanium Studio Android 中重新排序 TableView Collection View 值吗?

标签 titanium

我想显示一些详细信息,例如客户的姓名和地址,当我必须重新排序 View 列表时,就像用户可以将第三行拖放到第五位,将第六行拖放到第十位一样,我需要,在 Android 版钛工作室中。

谁能帮帮我。我在钛方面处于基础水平。

最佳答案

拖放支持仅适用于 iOS(至少通过 Titanium SDK)。此外,我不相信我在 Android 应用程序中见过用于行重新排序的拖放操作。但我看到了向上和向下箭头可以让你重新排序。下面是使用 TableView 的示例代码。如果您使用ListView,代码会更加简洁(您可以使用replaceItemsAt 来交换项目,而无需更新整个列表)。

var win = Ti.UI.createWindow({
    backgroundColor: '#fff',
    fullscreen: true
});

var data = [];

for(var i = 1; i <= 10; i++) {
    var row = Ti.UI.createTableViewRow();
    row.add(Ti.UI.createLabel({
        text: 'Row ' + i, textAlign: 'left',
        width: Ti.UI.FILL, color: '#000'
    }));
    row.add(Ti.UI.createButton({
        title: 'Up', action: 'moveUp',
        width: 50, right: 70
    }));
    row.add(Ti.UI.createButton({
        title: 'Down', action: 'moveDown',
        width: 50, right: 10
    }));
    data.push(row);
}

var table = Ti.UI.createTableView({
    data: data
});
table.addEventListener('click', function(evt) {
    var action = evt.source.action,
        index = evt.index,
        isFirstRow = index === 0,
        isLastRow = index + 1 === data.length;
    if(action === 'moveUp' && !isFirstRow) {
        swapRows(index, index - 1);
    }
    else if(action === 'moveDown' && !isLastRow) {
        swapRows(index, index + 1);
    }
});
win.add(table);

win.open();

function swapRows(indexOne, indexTwo) {
    var temp = data[indexOne];
    data[indexOne] = data[indexTwo];
    data[indexTwo] = temp;
    table.data = data;
}

关于titanium - 我可以在 Titanium Studio Android 中重新排序 TableView Collection View 值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20949668/

相关文章:

ios - 为应用程序商店构建时的 Titanium CLI 错误

titanium - 在 Titanium 移动应用程序中添加计时器

Android 模拟器不想工作?

ios - 使用钛创建 XML 文档

android - 使用 Titanium 开发 iPhone 和 Android 应用程序 UI 的最佳实践

titanium - 我如何检查逐行代码 Deduge 或 Run (Titanium)?

javascript - 在 Titanium Appcelerator 中创建元素并使用 Loop 添加事件监听器

javascript - 使用钛一次又一次加载旧数据库

android - Appcelerator 钛构建大约需要 2 分钟

javascript - 从 Titanium Mobile 中的 TableView 打开新窗口