我有两个标签布局。单击第一个选项卡按钮时,将使用远程检索的数据填充行。对于第二个选项卡,这是相同的,但数据的布局是不同的。
我的问题是当你在标签之间切换时我需要在每个标签的第一行上触发点击事件。
我正在为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
答案 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 } )