TITANIUM如何获得listview的价值?

时间:2013-12-03 20:57:30

标签: javascript android listview titanium

我希望得到listview儿童文本,我找不到获得它的方法。  我的listview构建代码:

var myTemplate = {
    childTemplates: [
            {                            // Title 
            type: 'Ti.UI.Label',     // Use a label for the title 
            bindId: 'info',          // Maps to a custom info property of the item data
            properties: {            // Sets the label properties
                color: 'black',
                font: { fontFamily:'Arial', fontSize: '20dp', fontWeight:'bold' },
                left: 0, top: 0,
            }
        },
        {                            // Subtitle
            type: 'Ti.UI.Label',     // Use a label for the subtitle
            bindId: 'es_info',       // Maps to a custom es_info property of the item data
            properties: {            // Sets the label properties
                color: 'black',
                font: { fontFamily:'Arial', fontSize: '20dp' },
                right: 0, top: '0dp',
                accessoryType: Ti.UI.LIST_ACCESSORY_TYPE_NONE
            }
        }
    ]
};

var table = Ti.UI.createListView({
// Maps myTemplate dictionary to 'template' string
    templates: { 'template': myTemplate },
    bottom:'50dp',
    editing : true,
    defaultItemTemplate: 'template'
});
var sections = [];


ProcuctRS = db.execute('select uniqnumber,barcode,scantimes,quantity from product where batchno=?',Titanium.App.Properties.getString("batchnumber"));
while (ProcuctRS.isValidRow())  
    {  
        var BNO = ProcuctRS.fieldByName('barcode');  
        var SCTIME = ProcuctRS.fieldByName('scantimes');  
        var QUANTITY = ProcuctRS.fieldByName('quantity'); 

        var PDSection = Ti.UI.createListSection({ headerTitle: BNO});
        var PDDataSet = [
                            { es_info: {text: 'Scan times :' + SCTIME}, info: {text: 'Quantity :'+ QUANTITY}},
                        ];
        PDSection.setItems(PDDataSet);
        sections.push(PDSection);
        ProcuctRS.next(); 
    }  
ProcuctRS.close();
table.sections = sections;
self.add(table);

现在我想更改info和es_info文本,我尝试了不同的方法, 例如:

    table.addEventListener('itemclick', function(e){
            var item = e.section.getItemAt(e.itemIndex);
            e.section.es_info.color = 'orange';
            e.section.updateItemAt(e.itemIndex, item); 
};

但它不起作用。 我该怎么办?帮忙!谢谢

2 个答案:

答案 0 :(得分:3)

我不知道它是否相关(或者只是复制粘贴错误)但是你错过了#39;)'在你的事件监听器结束时

 table.addEventListener('itemclick', function(e){
        var item = e.section.getItemAt(e.itemIndex);
        e.section.es_info.color = 'orange';
        e.section.updateItemAt(e.itemIndex, item); 
 });

答案 1 :(得分:0)

尝试编辑:false

    var table = Ti.UI.createListView({
        // Maps myTemplate dictionary to 'template' string
        templates: { 'template': myTemplate },
        bottom:'50dp',
        editing : false,
        defaultItemTemplate: 'template'
    });