Titanium:自动选择第一行动态创建的行

时间:2013-06-28 11:03:10

标签: javascript titanium appcelerator

我有两个标签布局。单击第一个选项卡按钮时,将使用远程检索的数据填充行。对于第二个选项卡,这是相同的,但数据的布局是不同的。

我的问题是当你在标签之间切换时我需要在每个标签的第一行上触发点击事件。

我正在为Android构建这个应用程序。

非常感谢任何帮助...

编辑:这是头顶的虚拟代码,希望它更有意义。

leftTableView = Ti.UI.createTableView({
  data: populateTableView(0),
  allowsSelection:true
}); 

function populateTableView(byType)
{
for(length of array loop){
    var tableViewRow=Ti.UI.createTableViewRow({
        my_obj:myObj[i]
    });

    tabledata=[]

    tableViewRow.addEventListener('click',function(e){
        e.row.setBackgroundImage('/images/selected-row-background.png');
    }

    if byType 0

        loop array display row for each object element
        tableData.push(tableViewRow);   
        return tabledata


    if byType 1

        loop array display row for each object element, display differently
        tableData.push(tableViewRow);   
        return tabledata
}
}

tab 1 click event listener

populateTableView(0);
leftTableView.data[0].rows[0].fireEvent('click');//this fires but says e.row.setBackgroundImage is undefined

tab 2 click event listener

populateTableView(1)
leftTableView.data[0].rows[0].fireEvent('click');//this fires but says e.row.setBackgroundImage is undefined

1 个答案:

答案 0 :(得分:1)

在tabGroup上侦听模糊事件,并在每个选项卡成为活动选项卡

时执行操作

http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.TabGroup-event-blur

tabGroup.addEventListener('blur', function(_event) {
    var activeTab = _event.tab;

    // now that you have the activeTab, get the window, then the 
    // table and call a method to simulate a click on the first
    // row
});

在触发事件时传递数据

var row = leftTableView.data[0].rows[0];
row.fireEvent('click', { row : row } )