Titanium Change事件第一次没有使用选择器触发

时间:2014-05-16 19:45:14

标签: android ios events titanium picker

我正在使用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');
}
});

如果有人对如何让变更事件第一次开火有任何建议,我会非常感激。此外,如果您知道更好的方法来完成从选择器中保存数据以供以后使用,那么这也会有所帮助。

谢谢!

杰西卡

0 个答案:

没有答案