TimePickerDialog 带秒
时间: 2024-01-19 08:03:49 浏览: 57
TimePickerDialog 默认是不带秒的,但你可以通过自定义 TimePickerDialog 来实现带秒的功能。下面是一个简单的实现示例:
1. 自定义一个 TimePickerDialog,继承自原生的 TimePickerDialog。
2. 在自定义的 TimePickerDialog 中添加一个显示秒数的 NumberPicker。
3. 重写 onTimeChanged() 方法,当时间改变时,同步更新秒数的值。
以下是一个简单的代码示例:
```java
public class CustomTimePickerDialog extends TimePickerDialog {
private NumberPicker mSecondPicker;
public CustomTimePickerDialog(Context context, OnTimeSetListener listener, int hourOfDay, int minute, int second) {
super(context, listener, hourOfDay, minute, true);
setTitle("选择时间");
setButton(BUTTON_POSITIVE, "确定", this);
setButton(BUTTON_NEGATIVE, "取消", (OnClickListener) null);
// 添加秒数的 NumberPicker
LinearLayout linearLayout = (LinearLayout) ((ViewGroup) this.getWindow().getDecorView().findViewById(android.R.id.content)).getChildAt(0);
mSecondPicker = new NumberPicker(context);
mSecondPicker.setMaxValue(59);
mSecondPicker.setMinValue(0);
linearLayout.addView(mSecondPicker);
// 设置初始值
mSecondPicker.setValue(second);
// 时间改变时更新秒数的值
this.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker timePicker, int hourOfDay, int minute) {
mSecondPicker.setValue(timePicker.getSecond());
}
});
}
@Override
public void onClick(DialogInterface dialog, int which) {
if (which == BUTTON_POSITIVE) {
// 获取最终选择的时间和秒数
int hour = getTimePicker().getCurrentHour();
int minute = getTimePicker().getCurrentMinute();
int second = mSecondPicker.getValue();
// 通知监听器时间已经设置
if (mOnTimeSetListener != null) {
mOnTimeSetListener.onTimeSet(getTimePicker(), hour, minute, second);
}
}
}
}
```
使用方法:
```java
CustomTimePickerDialog dialog = new CustomTimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute, int second) {
// 时间设置完成后的回调
Log.d(TAG, "onTimeSet: " + hourOfDay + ":" + minute + ":" + second);
}
}, 0, 0, 0);
dialog.show();
```
这样就可以实现一个带秒的 TimePickerDialog。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![aar](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)