如果您没有花时间理解我的问题或得到合理的答案,请不要回答这个问题。我得到了一些答案,我认为我非常清楚地解释了我的问题。难道这个问题让我感到疯狂,还是有人在Titanium.App.Properties上有一个直截了当的答案?
我有一个登录表单,用于将用户名存储在一个:
Titanium.App.Properties.setString( “username” 的,e.value);
和另一个密码:
Titanium.App.Properties.setString( “密码”,e.value);
表单TextFields保存这些值(在商店之后),即使我关闭窗口,关闭并重新启动应用程序。这是因为App.Properties.getString(“value”);我想…。?! 但是当我用它的App.Properties.getString(“value”)复制孔形式时;到另一个窗口,TextFields为空并且根本不包含任何值。我知道属性字符串必须在App.Properties中有一些位置,但是如何抓住它并在应用程序中的另一个位置使用它?
我的问题是:如何从我的
中获取价值var userNameValue = Titanium.App.Properties.getString(“userNameValue”);
可以在另一个窗口或孔应用程序(全局)中使用?我怎样才能抓住它并在应用程序的另一个地方使用它?由于userName只包含一个电子邮件地址而passWord只包含连续的字母或数字,所以我认为没有充分的理由将这些(仅单独的单词)转换为对象(JSON)。但是,如果你的意思是我也有, - 我如何从我的TextField设置它,并在我的应用程序中的其他地方的另一个TextField中获取它。到目前为止我没有运气。我希望你能帮助我,我可以保持理智。
答案 0 :(得分:1)
Titanium.App.Properties.getString( “userNameValue”);
这是全局可用的,每个文件中都可以访问Titanium对象的任何属性。
但如果由于某种原因这对你不起作用并且你想设置一个全局变量, 你可以做到以下几点:
//把它放在那里,例如 var myProperties = {};
Ti.include('myGlobals.js');
然后你可以使一个属性全局可用,例如在应用初始化的某个地方的app.js中写这个
myProperties.Username = Titanium.App.Properties.getString(“userName”);
然后,您可以通过访问属性获取每个文件中的值 myProperties.Username
//of course the Propertie has to be set before you can get them ( Titanium.App.Properties.setString("userName",e.value); ) //like you do it
但是,Titanium.App.Properties.getString(“userName”); 无论如何应该可以从任何文件中获取,(但你可以尝试一下,虽然我不认为这样做很好)
我有一个类似的问题,它没有从ios设置中设置的属性中获取任何值作为默认值。
我必须转到设置并手动更改或编辑默认值,然后重启
Titanium.App.Properties.getString( “userName的”); 按原样返回值, 我希望这可以帮助你=)
我很高兴我可以帮助你=)
是的,您可以像这样使用焦点EventHandler:
textfield.addEventListener("focus",function(){
textfield.value = "Test";
});
除此之外,你是否为两个窗口使用相同的Textfield?像
var Textfield = Ti.Ui.createTextField({...});
并将其添加到2个不同的窗口?
win1.add(Textfield);
win2.add(Textfield);
这导致我在TableViewRows中出现标签问题,在TableView中使用相同的行2次
文本仅显示在1个标签上,有时会切换标签 我认为你不能将一个相同的钛物体添加到另外一个物体
也许那可能是罪魁祸首, 不知道只是一个想法=)