日期选择器
DatePicker
允许用户选择日期。当我们创建 DatePicker
的新实例时,我们可以设置初始日期。如果我们不设置初始日期,则默认设置当前日期。
我们可以通过使用 DatePickerDialog
或使用 DatePicker
小部件创建我们自己的布局来向用户显示 DatePicker
。
我们也可以限制用户可以选择的日期范围。
通过设置最小日期(以毫秒为单位)
//In this case user can pick date only from future
datePicker.setMinDate(System.currentTimeMillis());
通过设置最大日期(以毫秒为单位)
//In this case user can pick date only, before following week.
datePicker.setMaxDate(System.currentTimeMillis() + TimeUnit.DAYS.toMillis(7));
要接收有关用户选择的日期的信息,我们必须使用 Listener
。
如果我们使用 DatePickerDialog
,我们可以在创建 DatePickerDialog
的新实例时在构造函数中设置 OnDateSetListener
:
样品使用 DatePickerDialog
public class SampleActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
}
private void showDatePicker() {
//We need calendar to set current date as initial date in DatePickerDialog.
Calendar calendar = new GregorianCalendar(Locale.getDefault());
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(this, this, year, month, day);
datePickerDialog.show();
}
@Override
public void onDateSet(DatePicker datePicker, int year, int month, int day) {
}
}
否则,如果我们使用 DatePicker
小部件创建自己的布局,我们还必须创建自己的侦听器,因为它在其他示例中显示