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

Android中如何在Activity间传递日期?巴士预订APP日期回显

解决方案:实现日期选择后返回并更新首页布局

你已经完成了首页跳转到日期选择页面的触发逻辑,接下来只需要两步就能把选中的日期回显到JournyDate布局里:


1. 在DateChooser页面处理日期选中并返回数据

首先,在你的DateChooserActivity中,当用户通过第三方日历库选中日期后,要把选中的日期数据通过Intent返回给首页Fragment。这里以常用的MaterialDatePicker为例(其他第三方库逻辑类似,核心是获取选中的日期对象并打包):

// 以MaterialDatePicker为例,初始化并监听选中事件
MaterialDatePicker<Long> datePicker = MaterialDatePicker.Builder.datePicker().build();
datePicker.addOnPositiveButtonClickListener(selection -> {
    // 将选中的时间戳转换为易读的日期格式,比如"yyyy-MM-dd"
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.getDefault());
    String selectedDate = sdf.format(new Date(selection));
    
    // 准备返回的Intent,携带选中日期
    Intent resultIntent = new Intent();
    resultIntent.putExtra("SELECTED_DATE", selectedDate);
    setResult(Activity.RESULT_OK, resultIntent);
    finish(); // 关闭日期选择页面
});

如果你的第三方日历库直接返回Calendar对象或日期字符串,直接把对应数据放进Intent即可,无需时间戳转换。


2. 在首页Fragment的onActivityResult中接收数据并更新布局

补全你Fragment里的onActivityResult方法,接收返回的日期数据后,更新JournyDate布局的显示(假设布局内有用于展示日期的TextView):

@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    // 匹配跳转时设置的requestCode(你定义的11)
    if (requestCode == 11 && resultCode == Activity.RESULT_OK && data != null) {
        // 获取返回的日期字符串
        String selectedDate = data.getStringExtra("SELECTED_DATE");
        
        // 更新JournyDate布局的显示,假设布局内TextView的id为tv_journey_date
        TextView tvJourneyDate = datelayout.findViewById(R.id.tv_journey_date);
        tvJourneyDate.setText(selectedDate);
        
        // 如果需要调整布局样式或其他内容,可在此处补充逻辑
    }
}

小提示

  • 务必确保DateChooser页面在用户选中日期后调用setResult(RESULT_OK, intent),否则首页Fragment会接收不到有效数据。
  • 若第三方日历库有特殊日期格式要求,调整日期格式化规则即可适配。
  • 如果你使用AndroidX,也可以用更推荐的registerForActivityResultAPI替代onActivityResult,上述写法兼容旧版本,也能正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:19:30