TimePicker 提供了上下的按钮,点击按钮,相关操作都是正常的。但是如果直接在输入框中修改小时或分钟后直接点击按钮取值,会发现不能真正改变时间。
以下代码得不到预期结果。
@Override
public void onClick(View v) {
int i = timePicker1.getCurrentHour();
int j = timePicker1.getCurrentMinute();
startPoint.set(Calendar.HOUR_OF_DAY, i);
startPoint.set(Calendar.MINUTE, j);
Log.d("TimePicker", startPoint.getTime().toLocaleString());
}
日志会显示直接输入前的时间,而不是直接输入的时间。
解决方案:
在int i = timePicker1.getCurrentHour(); 之前调用如下:
timePicker1.clearFocus();