Tôi đã có một DialogPreference thực hiện một TimePicker.OnTimeChangedListener đơn giản (xem bên dưới). Đặt thời gian bằng cách nhấp vào nút +/- sẽ hoạt động tốt. Nhưng tôi không biết làm thế nào để lưu trạng thái của timepicker khi người dùng gõ vào thời gian trực tiếp vào textfield. Có thể đủ để truy cập vào giá trị trường văn bản hiện tại, vì vậy tôi có thể duy trì nó trong onDialogClosed. Nhưng timePicker.getCurrentHour() sẽ không làm điều đó. Xin vui lòng giúp ...Android: Cách lấy thời gian từ một TimePicker khi được nhập vào
public class TimePreference extends DialogPreference implements
TimePicker.OnTimeChangedListener {
// ...
@Override
public void onTimeChanged(TimePicker view, int hours, int minutes) {
selectedHours = hours;
selectedMinutes = minutes;
}
@Override
public void onDialogClosed(boolean positiveResult) {
if(positiveResult) {
String timeString = selectedHours + ":" + selectedMinutes;
if(isPersistent()) {
persistString(timeString);
}
}
}
// ...
}
Vấn đề là onTimeChanged không được gọi cho đến khi văn bản trong TimePicker mất tập trung. Có ai biết làm thế nào để truy cập vào văn bản đầu vào TimePicker trực tiếp? – cody
Bạn có thể kiểm tra câu trả lời của tôi ở đây http://stackoverflow.com/questions/7527138/timepicker-how-to-get-am-or-pm/23931797#23931797 – Mukesh