我是Titanium的新手,现在我想要的是在我点击'保存'按钮时无法在Window2标签的文本字段中显示,而无需关闭应用程序并再次重新打开它,会发生什么当我点击window2中的“保存”按钮时,没有出现getString(myname)的值,这是我的代码,提前感谢。
var window1 = Ti.UI.createWindow({
title: 'Window',
backgroundColor: 'white'
});
var textfield = Ti.UI.createTextField({
width: 200,
hintText: 'TYPE'
});
var button1 = Ti.UI.createButton({
top: '10%',
title: 'save'
});
button1.addEventListener('click', function(e){
Ti.App.Properties.setString('NAME', textfield.value);
window2.open();
window1.close();
});
window1.add(textfield);
window1.add(button1);
var myname = Ti.App.Properties.getString('NAME');
var window2 = Ti.UI.createWindow({
title: 'Window2',
backgroundColor: 'white'
});
var label = Ti.UI.createLabel({
text: myname,
top: '20%'
});
window2.add(label);
window1.open();
答案 0 :(得分:0)
您在加载时分配myname的值,但在单击按钮后从不触发更改。
试试这个:
var window1 = Ti.UI.createWindow({
title: 'Window',
backgroundColor: 'white'
});
var textfield = Ti.UI.createTextField({
width: 200,
hintText: 'TYPE'
});
var button1 = Ti.UI.createButton({
top: '10%',
title: 'save'
});
window1.add(textfield);
window1.add(button1);
button1.addEventListener('click', function(e){
Ti.App.Properties.setString('NAME', textfield.value);
label.setText(Ti.App.Properties.getString('NAME'));
window2.open();
window1.close();
});
var window2 = Ti.UI.createWindow({
title: 'Window2',
backgroundColor: 'white'
});
var label = Ti.UI.createLabel({
text: '',
top: '20%'
});
window2.add(label);
window1.open();
答案 1 :(得分:0)
你做错了是你正在设置属性' NAME'即,
Ti.App.Properties.setString('NAME', textfield.value);
在按钮的点击监听器内。因此,只有在单击按钮时才会设置此属性。
但是您实际上是在点击按钮之前尝试检索您的属性。
问题的一个解决方案是 - 尝试为方法添加事件监听器'打开'到你的window2像这样 -
var myname;
window2.addEventListener('open', function(e){
myname = Ti.App.Properties.getString('NAME');
label.setText(myname);
});
希望它有所帮助!
您还可以添加方法'关闭'的事件监听器。到你的窗口1。 有很多方法可以做到这一点。