You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

对话框中点击按钮时将当日日期传入EditText变量

点击按钮自动填充当日日期到EditText的实现方案

我来帮你搞定这个需求——点击USE DATE按钮时捕获当日日期,并把它填入EditText作为输入内容。结合你给出的现有代码,整理了完整的实现逻辑:

1. 给USE DATE按钮绑定点击事件

首先你需要找到布局里的USE DATE按钮(假设它的id是btnUseDate),然后给它设置点击监听器,在回调里处理日期获取和填充的逻辑。

2. 获取并格式化当前日期

这里提供两种实现方式,你可以根据项目的Android版本选择:

方式一:兼容低版本的SimpleDateFormat

如果你的项目需要支持Android 7.1及以下版本,用SimpleDateFormat是稳妥的选择:

// 找到你的EditText(从你的代码看是editTitle)
EditText editTitle = findViewById(R.id.editTitle);

// 绑定USE DATE按钮的点击事件
findViewById(R.id.btnUseDate).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // 定义日期格式,比如"d-M-yyyy"对应"5-10-2024",你可以按需修改
        SimpleDateFormat dateFormatter = new SimpleDateFormat("d-M-yyyy", Locale.getDefault());
        // 获取当前日期并格式化
        String todayDate = dateFormatter.format(new Date());
        // 将日期填充到EditText中
        editTitle.setText(todayDate);
    }
});

方式二:推荐的Java 8+日期API(Android 8.0+)

如果你的项目支持Android 8.0及以上,更推荐用java.time包下的API,因为SimpleDateFormat是线程不安全的:

EditText editTitle = findViewById(R.id.editTitle);

findViewById(R.id.btnUseDate).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        LocalDate today = LocalDate.now();
        // 同样可以自定义格式,比如"yyyy-MM-dd"
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("d-M-yyyy", Locale.getDefault());
        String todayDate = today.format(formatter);
        editTitle.setText(todayDate);
    }
});

如果要兼容低版本,可以引入ThreeTenABP库来使用这些新API。

结合你现有btnOK的逻辑

从你给出的代码片段来看,你在btnOK的点击事件里会把editTitle的内容作为Series的标题,这样用户点击USE DATE填充日期后,再点OK就能把日期作为标题保存,逻辑是通顺的,不需要额外修改这部分代码。

内容的提问来源于stack exchange,提问作者Robert Vogl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:02:40