我开发了钛桌面。这里如果我有选择任何行,需要将行值从一个窗口传递到下一个窗口。将选中的tableview行数据从一个窗口传递到下一个窗口中的钛
但是从我的代码中,
正在成功获取表格列表。行数据也通过了。
但是我面临一个问题,第一次单击一行意味着空值被传递。之后,回来列表视图,并单击另一行意味着上一个选定的行ID传递到下一个窗口。为什么我面临这个问题?这里有什么问题?请给我一个解决方案。
我已经使用以下代码:
dataArray = [];
for(var i=0; i<json.length; i++){
var row = Ti.UI.createTableViewRow({
className: 'row',
objName: 'row',
folder_id:json[i].folder_id,
layout : 'horizontal',
touchEnabled: true,
width: "100%",
height: Ti.UI.SIZE,
});
row.add(Ti.UI.createLabel({
text: json[i].folder_id,
title: json[i].folder_id,
left: 10,
top: 5,
width: 0,
visible : false,
font: { fontSize: '18dp' },
color: '#040404',
wordWrap: true,
height: Ti.UI.SIZE,
ellipsize: true
}));
row.add(Ti.UI.createLabel({
text: json[i].folder_name,
title: json[i].folder_name,
left: 10,
top: 5,
width: 100,
font: { fontSize: '18dp' },
color: '#040404',
wordWrap: true,
height: Ti.UI.SIZE,
ellipsize: true
}));
dataArray.push(row);
};
$.FoldertableView.setData(dataArray);
$.FoldertableView.addEventListener('click', function(e){
Ti.API.info("folder_id"+ e.rowData.folder_id);
var managereditfolder =Alloy.createController('editfolder').getView();
Ti.App.Properties.setString("folder_id", e.rowData.folder_id);
managereditfolder.open();
});
editfolder.js
folder_id = Ti.App.Properties.getString("folder_id");
Ti.API.info("Edit Folder folder_id"+ folder_id);
这里我得到等的输出:
folder_id 14 [WARN]:无效值自动指定属性顶部 [信息]:编辑文件夹folder_ ID空
folder_id 5 [WARN]:财产顶部 [INFO]指定的值无效汽车:编辑文件夹folder_id 14
请检查我的代码,并给我一个解决方案
嗯访问它,你有没有测试过这个?在我看来,你将变量传递给视图而不是控制器... – mwfire
是的,我已经测试过它。就像制作一个窗口的自定义属性一样。 – Swanand