[英]handling back button by calendar
我为此付出了很多努力; 如果在弹出日历时用户单击“后退”按钮。 如果用户单击“后退”按钮,则该字段始终填充有当前日期。 该类是适配器,没有片段或活动。
什么是正确的解决方案?
这是代码。
holder.valueLabel.setOnClickListener(view -> {
if (item.value.equals(""))
try {
String date = new SimpleDateFormat("dd-MM-yyyy").format(new Date());
holder.valueLabel.setText(date);
DatePickerDialog datePickerDialog = showDatePickerDialog(holder.valueLabel.getText().toString(), new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
String dateInFormat = getDateInFormat(year, month, day);
holder.valueLabel.setText(dateInFormat);
mItems.get(position).value = dateInFormat;
}
});
datePickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Annuleren", (DialogInterface.OnClickListener) (dialog, which) -> {
if (which == DialogInterface.BUTTON_NEGATIVE) {
String dateCancel = "";
holder.valueLabel.setText("");
mItems.get(position).value = dateCancel;
} else {
}
});
datePickerDialog.show();
} catch (ParseException e) {
e.printStackTrace();
}
else {
try {
DatePickerDialog datePickerDialog = showDatePickerDialog(holder.valueLabel.getText().toString(), new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int day) {
String dateInFormat = getDateInFormat(year, month, day);
holder.valueLabel.setText(dateInFormat);
mItems.get(position).value = dateInFormat;
}
});
datePickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Veld leegmaken", (DialogInterface.OnClickListener) (dialog, which) -> {
if (which == DialogInterface.BUTTON_NEGATIVE) {
String dateCancel = "";
holder.valueLabel.setText("");
mItems.get(position).value = dateCancel;
} else {
}
});
datePickerDialog.show();
} catch (ParseException e) {
e.printStackTrace();
}
}
});
如果要在按下后关闭对话框,请执行以下操作:
现在onBackPressed(),检查对话框是否显示为:
@Override public void onBackPressed() { if(dialog != null || dialog.isVisible()){ dialog.dismiss(); dialog = null; } }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.