我有一个名为tableview的tableview,我正在尝试获取已单击的单元格的标题。但它返回null。请参阅下面的代码段。
$.tableview.addEventListener('click', function(e) {
Ti.API.info('Clicked index: ' + e.index);
//索引有效。
var myText = e.rowData;
alert(e.rowData.title);
//returns null
});
如果我执行consolel.log(e)以找出回调方法后面抛出的内容,我会得到以下输出:
[INFO] : Clicked index: 0
[INFO] : {
[INFO] : bubbles = 1;
[INFO] : cancelBubble = 0;
[INFO] : detail = 0;
[INFO] : index = 0;
[INFO] : row = "[object TiUITableViewRow]";
[INFO] : rowData = "[object TiUITableViewRow]";
[INFO] : searchMode = 0;
[INFO] : section = "[object TiUITableViewSection]";
[INFO] : source = "[object TiUITableViewRow]";
[INFO] : type = click;
[INFO] : x = 167;
[INFO] : y = 37;
[INFO] : }
我怀疑标题是嵌套在RowData中的,但我不知道如何访问对象中的数据。
var row = Titanium.UI.createTableViewRow({
width : '100%',
height : 'auto'
});
var image = Titanium.UI.createImageView({
image : "https://graph.facebook.com/" + (data[x].cover_photo || 0) + "/picture?access_token=" + Ti.Facebook.accessToken,
top : 0,
left : 0,
width : 100,
height : 100
});
var title = Titanium.UI.createLabel({
text : albumTitle,
top : 0,
left : 110,
width : 'auto',
height : 'auto'
});
row.add(image);
row.add(title);
rows.push(row);
xml我已将表视图ID设置为tableview。
使用JSON.stringify,这是为每个对象输出的内容:
[INFO] : row data
[INFO] : {"horizontalWrap":true,"width":"100%","height":"auto"}
[INFO] : row
[INFO] : {"horizontalWrap":true,"width":"100%","height":"auto"}
[INFO] : source
[INFO] : {"horizontalWrap":true,"width":"100%","height":"auto"}
[INFO] : section
[INFO] : {"horizontalWrap":true}
答案 0 :(得分:0)
您可以尝试对对象进行字符串化以查看它具有哪些属性
JSON.stringify(e.rowData);
答案 1 :(得分:0)
通过在var行对象中添加新属性来解决。