这就是我正在尝试做的:
_tableView.data[0].rows[selectedPosY].children[selectedPosX].imageId = tempImageId;
_tableView.data[0].rows[selectedPosY].children[selectedPosX].image = tempImageUrl;
Titanium.API.info("imageIdSelected:" +
_tableView.data[0].rows[selectedPosY].children[selectedPosX].imageId + "imageSelected:" +
_tableView.data[0].rows[selectedPosY].children[selectedPosX].image);
更新了数据,但没有反映在 UI 表中,缺少什么?
我什至尝试按照以下步骤进行操作如何刷新钛合金中的 TableView? https://stackoverflow.com/questions/5731461/how-can-i-refresh-my-tableview-in-titanium & 如何解决Titanium TableView显示问题? https://stackoverflow.com/questions/6073876/how-to-resolve-titanium-tableview-display-problem,但它没有刷新 UI 表
_tableView.setData(_tableView.data); win.add(_tableView);
事实证明,更新/重新加载 Titanium.UI.TableView 的唯一方法是获取更新数据的副本(按照逻辑)并使用“setData”在 TableView 中重置它。对于我的示例,由于 _tableView.data 正在更新(可以通过日志记录语句看到),我可以使用 JavaScript 数组复制函数来复制它,例如;
var data2 =_tableView.data.slice(0);
_tableView.setData(data2);
虽然,有了上述知识,我已经重构了我的代码,所以,我没有使用这个确切的代码,而是使用类似的逻辑。但是,总的来说,这种更新表格的方式似乎不太吸引人,如果有更好的方法来处理这个问题,请发布,这会有很大帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)