我有一个使用DatePickerFragment的日期选择器。在onDateSet事件中,我使用下面的代码。Android date.before不起作用
DatePickerDialog.OnDateSetListener ondate = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
Calendar selected = Calendar.getInstance();
selected.set(year, monthOfYear, dayOfMonth);
Calendar now = Calendar.getInstance();
now.set(now.get(Calendar.YEAR),now.get(Calendar.MONTH),now.get(Calendar.DAY_OF_MONTH));
if (selected.after(now) || selected.equals(now))
{
EditText dateField = (EditText) getActivity().findViewById(Integer.valueOf(textFieldId));
dateField.setText(new StringBuilder().append(dayOfMonth)
.append("-").append(monthOfYear + 1).append("-").append(year)
.append(" "));
}
else
{
Toast.makeText(getActivity(), "this is my Toast message!!! =)",
Toast.LENGTH_SHORT).show();
}
}
};
此代码不起作用,如果我选择今天的日期,它仍然会生成一个toast消息,而不是将选定的值加载到文本字段中。
不知道我在做什么错。
'now.set'是不必要的 – waqaslam 2015-02-09 12:16:39
您是否考虑过两个日期的时间部分如何影响比较? – GreyBeardedGeek 2015-02-09 12:25:10
嗨GreyBeardedGeek,我认为这是问题所在,这就是为什么我设置日期只使用年,月和日,我想我做了不正确的? – user2029541 2015-02-09 13:33:12