Android文本编辑框点击弹出选择日期框

前言:

个人Android小白,写到这了,就记录一下,希望可以帮助到大家。

Android输入框点击弹出日期选择框

// 获取 文本编辑框控制权
EditText returnTime = findViewById(R.id.return_time);
// 日期选择触发器
returnTime.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
showDatePickDlg();
return true;
}
return false;
}
});
// 进入文本编辑框焦点触发日期选择器
returnTime.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
showDatePickDlg();
}
}
});
/**
* 弹出日期选择框
* 选择日期不能小于当天
*/
private void showDatePickDlg() {
Calendar calendar = Calendar.getInstance();
// 获取当前日期
final int mYear = calendar.get(Calendar.YEAR);
final int mMonth = calendar.get(Calendar.MONTH);
final int mDayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
DatePickerDialog datePickerDialog = new DatePickerDialog(BorrowActivity.this,
new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
// 判断选择年是否小于当前年
if (year < mYear) {
view.updateDate(mYear, mMonth, mDayOfMonth);
toast = ToastUtil.toastHint(toast,BorrowActivity.this,"归还日期不能小于当天,请重新选择!");
return;
}
// 判断选择月是否小于当前月
if (year == mYear && month < mMonth) {
view.updateDate(mYear, mMonth, mDayOfMonth);
toast = ToastUtil.toastHint(toast,BorrowActivity.this,"归还日期不能小于当天,请重新选择!");
return;
}
// 判断选择日是否小于当前日
if (year == mYear && month == mMonth && dayOfMonth < mDayOfMonth) {
view.updateDate(mYear, mMonth, mDayOfMonth);
toast = ToastUtil.toastHint(toast,BorrowActivity.this,"归还日期不能小于当天,请重新选择!");
return;
}
BorrowActivity.this.returnTime.setText(year+"-"+(month+1)+"-"+dayOfMonth);
}
},
mYear,
mMonth,
mDayOfMonth);
datePickerDialog.show();
}

 

posted @   阿尔法哲  阅读(514)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示