似乎合乎逻辑的是,应该有一些简单的方法来检查哪个DatePicker
对象首先出现但我找不到。
// so if you had two objects
final DatePicker start_datepicker = (DatePicker)findViewById(R.id.DatePickerStart);
final DatePicker end_datepicker = (DatePicker)findViewById(R.id.DatePickerEnd);
// I was thinking something along the lines of:
if (end_datepicker > start_datepicker) {
// something
}
// or is there something like
if (end_datepicker.isLarger(start_datepicker)) {
// Something
}
这是可能的,还是有人知道这些方面的简单事项与日期比较?
答案 0 :(得分:1)
DatePicker是用于显示日期的UI小部件。您不是通过赋值(如在代码中)设置它,而是通过调用它的init
方法。通常,您将使用OnDateChangedListener跟踪日期。不过,您可以将两个这样的小部件上显示的当前日期与以下内容进行比较:
/** Returns a number <0, 0, or >0 when dp1 displays a date <, =, or > dp2. */
public int compare(DatePicker dp1, DatePicker dp2) {
int compare = dp1.getYear() - dp2.getYear();
if (compare == 0) {
compare = dp1.getMonth() - dp2.getMonth();
if (compare == 0) {
compare = dp1.getDay() - dp2.getDay();
}
}
return compare;
}
答案 1 :(得分:0)
答案 2 :(得分:0)
您应该从日期选择器中获取结果值并将它们转换为Date对象,这样您就可以轻松地比较值,而不是编写依赖于UI组件的自己的Comparator的路径。
答案 3 :(得分:0)
我实际上写了Java class specifically to handle this situation for Android。随意使用它并将其包含在您的应用程序中!它也有记录。