例如,我希望 TimePicker 只显示当前时间之后或未来 12 小时内的时间,怎么做?
问问题
2270 次
1 回答
0
看这个例子。在这个和平的代码中,我正在控制最大和最小日期。也许您可以修改此代码以控制最大和最小时间(不是日期)。我认为修改此代码不会有太多问题。
对于 Honeycom 以上的 Android 版本,我们可以使用 setMinDate() 方法。对于旧版本,当用户尝试修改日期时,我们控制最大值和最小值。
// Calendar
this.calendar = new GregorianCalendar();
this.datePicker = (DatePicker) findViewById(R.id.xxxxx);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
// (picker is a DatePicker)
this.datePicker.setMinDate(this.calendar.getTimeInMillis());
} else {
final int minYear = this.calendar.get(Calendar.YEAR);
final int minMonth = this.calendar.get(Calendar.MONTH);
final int minDay = this.calendar.get(Calendar.DAY_OF_MONTH);
this.datePicker.init(minYear, minMonth, minDay,
new OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year,
int month, int day) {
Calendar newDate = Calendar.getInstance();
newDate.set(year, month, day);
if (calendar.after(newDate)) {
view.init(minYear, minMonth, minDay, this);
}
}
});
Log.w(TAG, "API Level < 11 so not restricting date range...");
}
于 2013-09-16T07:44:26.997 回答