如何解决如何正确使用 TimePickerDialog 到 DateTimePicker 用于 EditText 字段?
我不确定如何使用 TimePickerDialog
和 DatePickerDialog
一起启用时间选择,以便 editReturn_date
字段获得 dd/mm/yyyy hh:mm
的值。
TimePickerDialog.OnTimeSetListener timeSetListener = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view,int hours,int minutes) {
}
};
以及如何使小时和分钟值加入
month += 1;
String return_date = String.format("%02d/%02d/%04d",day,month,year);
editReturn_date.setText(return_date);
int day,year,hours,minutes;
editReturn_date = findViewById(R.id.editReturn_date);
Calendar calendar = Calendar.getInstance();
day = calendar.get(Calendar.DAY_OF_MONTH);
month = calendar.get(Calendar.MONTH);
year = calendar.get(Calendar.YEAR);
hours = calendar.get(Calendar.HOUR_OF_DAY);
minutes = calendar.get(Calendar.MINUTE);
editReturn_date.setonClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
final DatePickerDialog datePickerDialog = new DatePickerDialog(RegisterLoean.this,new DatePickerDialog.OnDateSetListener(){
@Override
public void onDateSet(DatePicker view,int year,int month,int day){
TimePickerDialog.OnTimeSetListener timeSetListener = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view,int minutes) {
}
};
month += 1;
String return_date = String.format("%02d/%02d/%04d",year);
editReturn_date.setText(return_date);
}
},day);
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
datePickerDialog.show();
}
});
解决方法
您错误地使用了 DatePickerDialog
和 TimePickerDialog
定义:
-
DatePickerDialog
用于让用户选择日期(月、日、年) -
TimePickerDialog
用于让用户选择时间(小时、分钟)
因此这两个组件彼此不同。但是,您将它们视为单个组件来对待/使用。
解决方案
- 单独的日期选择和时间选择。 (例如,先显示
DatePickerDialog
,然后显示TimePickerDialog
) - 使用具有日期和时间选择对话框的库(遗憾的是 Android 默认不提供)
如果您选择了选项 2,以下是我推荐的一些库:
这些基本满足你的所有需求
- 日期和时间✅
- 时间本地化✅
- 日期时间格式✅
如果您有更多问题,请告诉我。谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。