我正在使用Titanium Classic制作iOS和Android应用程序。我对Titanium很新,但我有一些使用Javascript的经验。该应用程序将有一个用户窗口,并从选择器中选择以小时和分钟为单位的时间量。选择将被保存并稍后用于向用户发送他们选择的时间已启动的通知。我目前正在使用Titanium的选择器功能,其类型为“倒计时器”。但是,当用户选择不同的时间时,我无法使更改事件生效。当我尝试进入另一个窗口并再次进入计时器窗口时,它也会显示最后一次选择的时间。
我的问题是,如何在用户第一次选择其他号码时触发更改事件? 在跟进我的问题时,是否有更好的方法来保存选择器选择供以后使用?
以下是选择器的代码:
var hours = 0;
var minutes = 1;
var win = Ti.UI.createWindow({
backgroundColor: '#A6B97B',
layout: 'horizontal'
});
var picker = Ti.UI.createPicker({
type:Ti.UI.PICKER_TYPE_COUNT_DOWN_TIMER,
top:2,
width: '50%',
height: '20%'
});
picker.addEventListener("change", function(e) {
Ti.App.Properties.setInt('countDownDuration', e.countDownDuration);
if (e.countDownDuration >= 3600000)
{
hours = Math.floor(Ti.App.Properties.getInt('countDownDuration')/3600000);
minutes = Math.floor(Ti.App.Properties.getInt('countDownDuration')/60000 - (hours*60));
}
else {
minutes = Math.floor(Ti.App.Properties.getInt('countDownDuration')/60000);
hours = 0;
}
});
var doneBtn = Ti.UI.createButton({
title : 'Get Value',
height : '15%',
width : '30%'
});
doneBtn.addEventListener('click', function() {
// get value
if(hours > 0){
alert('You set the time estimate to ' + hours + ' hours and ' + minutes+ ' minutes');
}
else {
alert('You set the time estimate to ' + minutes + ' minutes');
}
});
如果有人对如何让变更事件第一次开火有任何建议,我会非常感激。此外,如果您知道更好的方法来完成从选择器中保存数据以供以后使用,那么这也会有所帮助。
谢谢!
杰西卡