我想从用户输入的 TimePickerDialog 中获取 hourOfDay 和分钟,但值在 onTimeSet 方法中显示为零。
LoadTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
calendar = Calendar.getInstance();
currentHour = calendar.get(Calendar.HOUR_OF_DAY);
currentMinute = calendar.get(Calendar.MINUTE);
timePickerDialog = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int hourOfDay, int minutes) {
if (hourOfDay >= 12) {
amPm = "PM";
} else {
amPm = "AM";
}
LoadTime.setText(String.format("%02d:%02d", hourOfDay, minutes) + amPm);
}
}, currentHour, currentMinute, false);
Log.d("INT","val: " + hour);
timePickerDialog.show();
}
});
我想保存这两个变量并执行一些 if-else 条件。提前致谢。
最佳答案
您在 onTimeSet()
方法之外获取日志。
LoadTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
calendar = Calendar.getInstance();
currentHour = calendar.get(Calendar.HOUR_OF_DAY);
currentMinute = calendar.get(Calendar.MINUTE);
timePickerDialog = new TimePickerDialog(MainActivity.this, new
TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int hourOfDay, int minutes) {
if (hourOfDay >= 12) {
amPm = "PM";
} else {
amPm = "AM";
}
Log.d("INT","val: " + hourOfDay);
LoadTime.setText(String.format("%02d:%02d", hourOfDay, minutes) + amPm);
}
}, currentHour, currentMinute, false);
timePickerDialog.show();
}
});`
为了将值存储在string
中,java string .valueOf()
方法将不同类型的值转换为字符串。
例如:
String hourOfDayInString = String.valueOf(hourOfDay);
关于android - 我如何从 timePickerDialog 中保存 hourOfDay 和分钟以将其与其他变量进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54184416/