我開發了鈦桌面。這裏如果我有選擇任何行,需要將行值從一個窗口傳遞到下一個窗口。將選中的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