android 日期和时间选择 代码
时间: 2024-09-17 10:02:13 浏览: 48
Android日期和时间选择器实现代码
在Android中,你可以使用`DatePickerDialog`和`TimePickerDialog`来让用户选择日期和时间。这里是一个简单的例子:
```java
import androidx.appcompat.app.AlertDialog;
import androidx.core.app.DialogFragment;
import android.os.Bundle;
import android.widget.DatePicker;
import android.widget.TimePicker;
public class DateAndTimeSelection extends DialogFragment {
private DatePicker datePicker;
private TimePicker timePicker;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
// 创建日期选择对话框
datePicker = new DatePicker(getViewLifecycleOwner(),
R.id.date_picker, // 日历组件ID
year, month, day); // 当前年月日
// 创建时间选择对话框
timePicker = new TimePicker(getViewLifecycleOwner(),
R.id.time_picker, // 时间组件ID
hourOfDay, minute); // 当前小时和分钟
// 绑定点击事件并设置布局
builder.setView(datePicker.createView(getActivity()));
builder.setView(timePicker.createView(getActivity()));
// 设置完成按钮,回调函数处理结果
builder.setPositiveButton("确定", (dialog, which) -> {
String selectedDate = String.format("%04d-%02d-%02d %02d:%02d",
datePicker.getYear(), datePicker.getMonth() + 1, datePicker.getDayOfMonth(),
timePicker.getCurrentHour(), timePicker.getCurrentMinute());
onDateSelected(selectedDate);
});
return builder.create();
}
// 重写该方法以便在获取到选中的日期和时间后执行你的业务逻辑
protected void onDateSelected(String selectedDate) {
// 这里可以保存或处理selectedDate
// ...
}
public static DateAndTimeSelection newInstance(int year, int month, int day, int hourOfDay, int minute) {
DateAndTimeSelection fragment = new DateAndTimeSelection();
Bundle args = new Bundle();
args.putInt("year", year);
args.putInt("month", month);
args.putInt("day", day);
args.putInt("hourOfDay", hourOfDay);
args.putInt("minute", minute);
fragment.setArguments(args);
return fragment;
}
}
```
在这个例子中,你需要自定义`onDateSelected`方法来处理用户选择的日期和时间。然后,通过`newInstance()`方法创建一个新的实例,并传入当前的时间作为参数。
阅读全文