Ở đây tôi lấy ngày hiện tại và thời gian từ hệ thống và cập nhật nó với hộp thoại ngày và chọn thời gian
private int mMonth, mYear, mDay, mHour, mMin;
static static int cuối cùng DTPKR = 1;
static static int cuối cùng TMPKR = 2;
// Lấy ngày hiện tại và thời gian vào DatePicker thoại
public void getCurrentDate(){
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
}
public void getCurrentTime(){
final Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMin = c.get(Calendar.MINUTE);
}
Bây giờ tạo ra các hộp thoại và cập nhật các giá trị // Tạo hộp thoại
protected Dialog onCreateDialog(int id) {
switch (id) {
case DTPKR:
return new DatePickerDialog(this,lisDate, mYear, mMonth, mDay);
case TMPKR:
return new TimePickerDialog(this,lisTime,mHour, mMin, false);
}
return null;
}
//setting date and updating editText
DatePickerDialog.OnDateSetListener lisDate = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
etDate.setText(new StringBuilder() .append(mDay).append("/").append(mMonth+1).append("/").append(mYear));
getCurrentDate();
}
};
//setting time and updating editText
TimePickerDialog.OnTimeSetListener lisTime=new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour=hourOfDay;
mMin=minute;
String AM_PM ;
if(hourOfDay < 12) {
AM_PM = "AM";
} else {
AM_PM = "PM";
mHour=mHour-12;
}
etTime.setText(mHour+":"+mMin+" "+AM_PM);
getCurrentDate();
}
};
Nó không phải là một cách thích hợp. Nó hoạt động trên 2,2 nhưng không hoạt động trên 4.1 –
Tôi đã sử dụng một cách tiếp cận khác. Tôi đã đăng giải pháp của mình làm câu trả lời. –