自定义日期时间选择器不工作 - Android
Custom datetime picker not working - Android
我正在为 android 应用程序使用自定义 datetimepicker
。
我将依赖项安装为:
implementation 'com.github.noowenz:CustomDateTimePicker:1.01'
然后我在我的activity
中添加如下:
final static String TAG = BookcabActivity.class.getCanonicalName();
Calendar selectedDateAndTime = Calendar.getInstance();
mTextViewOne = findViewById(R.id.et_datetime);
mTextViewOne.setFocusable(false);
mTextViewOne.setOnClickListener(view -> {
show_Datepicker();
});
private void show_Datepicker() {
new CustomDateTimePicker(this, new CustomDateTimePicker.ICustomDateTimeListener() {
@Override
public void onSet(@NotNull Dialog dialog, @NotNull Calendar calendar,
@NotNull Date date, int year, @NotNull String monthFullName,
@NotNull String monthShortName, int monthNumber, int day,
@NotNull String weekDayFullName, @NotNull String weekDayShortName,
int hour24, int hour12, int min, int sec, @NotNull String AM_PM) {
Toast.makeText(ctx, "Date and time selected!", Toast.LENGTH_SHORT).show();
selectedDateAndTime = calendar;
String dateAndTime = "Date is" + date + "Year is" + year + "Day is" + day;
Log.d(TAG, "onSet: Date is" + dateAndTime);
mTextViewOne.setText(dateAndTime);
}
@Override
public void onCancel() {
Toast.makeText(ctx, "Date and Time selection is cancelled", Toast.LENGTH_SHORT).show();
}
});
}
但是日期时间对话框没有弹出,我错过了什么?
您缺少 .showDialog()
试试这个:
private void show_Datepicker() {
new CustomDateTimePicker(this, new CustomDateTimePicker.ICustomDateTimeListener() {
@Override
public void onSet(@NotNull Dialog dialog, @NotNull Calendar calendar,
@NotNull Date date, int year, @NotNull String monthFullName,
@NotNull String monthShortName, int monthNumber, int day,
@NotNull String weekDayFullName, @NotNull String weekDayShortName,
int hour24, int hour12, int min, int sec, @NotNull String AM_PM) {
Toast.makeText(ctx, "Date and time selected!", Toast.LENGTH_SHORT).show();
selectedDateAndTime = calendar;
String dateAndTime = "Date is" + date + "Year is" + year + "Day is" + day;
Log.d(TAG, "onSet: Date is" + dateAndTime);
mTextViewOne.setText(dateAndTime);
}
@Override
public void onCancel() {
Toast.makeText(ctx, "Date and Time selection is cancelled", Toast.LENGTH_SHORT).show();
}
}).showDialog();
}
我正在为 android 应用程序使用自定义 datetimepicker
。
我将依赖项安装为:
implementation 'com.github.noowenz:CustomDateTimePicker:1.01'
然后我在我的activity
中添加如下:
final static String TAG = BookcabActivity.class.getCanonicalName();
Calendar selectedDateAndTime = Calendar.getInstance();
mTextViewOne = findViewById(R.id.et_datetime);
mTextViewOne.setFocusable(false);
mTextViewOne.setOnClickListener(view -> {
show_Datepicker();
});
private void show_Datepicker() {
new CustomDateTimePicker(this, new CustomDateTimePicker.ICustomDateTimeListener() {
@Override
public void onSet(@NotNull Dialog dialog, @NotNull Calendar calendar,
@NotNull Date date, int year, @NotNull String monthFullName,
@NotNull String monthShortName, int monthNumber, int day,
@NotNull String weekDayFullName, @NotNull String weekDayShortName,
int hour24, int hour12, int min, int sec, @NotNull String AM_PM) {
Toast.makeText(ctx, "Date and time selected!", Toast.LENGTH_SHORT).show();
selectedDateAndTime = calendar;
String dateAndTime = "Date is" + date + "Year is" + year + "Day is" + day;
Log.d(TAG, "onSet: Date is" + dateAndTime);
mTextViewOne.setText(dateAndTime);
}
@Override
public void onCancel() {
Toast.makeText(ctx, "Date and Time selection is cancelled", Toast.LENGTH_SHORT).show();
}
});
}
但是日期时间对话框没有弹出,我错过了什么?
您缺少 .showDialog()
试试这个:
private void show_Datepicker() {
new CustomDateTimePicker(this, new CustomDateTimePicker.ICustomDateTimeListener() {
@Override
public void onSet(@NotNull Dialog dialog, @NotNull Calendar calendar,
@NotNull Date date, int year, @NotNull String monthFullName,
@NotNull String monthShortName, int monthNumber, int day,
@NotNull String weekDayFullName, @NotNull String weekDayShortName,
int hour24, int hour12, int min, int sec, @NotNull String AM_PM) {
Toast.makeText(ctx, "Date and time selected!", Toast.LENGTH_SHORT).show();
selectedDateAndTime = calendar;
String dateAndTime = "Date is" + date + "Year is" + year + "Day is" + day;
Log.d(TAG, "onSet: Date is" + dateAndTime);
mTextViewOne.setText(dateAndTime);
}
@Override
public void onCancel() {
Toast.makeText(ctx, "Date and Time selection is cancelled", Toast.LENGTH_SHORT).show();
}
}).showDialog();
}