这是显示日期选择器对话框的代码。
var tempDate = new Date();
// This picker only supports android platform
var picker = Ti.UI.createPicker({
type : Ti.UI.PICKER_TYPE_DATE,
minDate : new Date((tempDate.getFullYear() - 10), 0, 1),
maxDate : new Date((tempDate.getFullYear() + 10), 11, 31),
});
picker.showDatePickerDialog({
value : new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate()),
callback : function(e) {
if (e.cancel) { // User clicks on cancel button
Ti.API.info('User canceled dialog');
alert("User canceled date");
} else { // User selects set or done button.
Ti.API.info('User selected date: ' + e.value.getFullYear());
alert("user selected date:"+e.value.getFullYear());
}
}
});
一切运行良好,直到 android v2.3.6。高达 2.3.6 的日期选择器对话框同时显示设置和取消按钮。所以当用户点击设置按钮时
alert("user selected date:"+e.value.getFullYear());
此警报对话框正在执行。如果用户点击取消按钮
alert("User canceled date");
此警报正在执行。
但问题来自Android v4.0。日期选择器对话框仅显示完成按钮。如果用户点击完成按钮然后
alert("user selected date:"+e.value.getFullYear());
警报正在完美执行。
如果用户想取消对话框,那么他需要按后退按钮或单击日期选择器视图的外侧。这意味着即使用户取消对话框
alert("user selected date:"+e.value.getFullYear());
正在执行相同的选定警报框。如何解决这个问题呢。