带有日历对象的 Android Bundle getExtras

Posted

技术标签:

【中文标题】带有日历对象的 Android Bundle getExtras【英文标题】:Android Bundle getExtras with Calendar Object 【发布时间】:2017-03-04 20:09:59 【问题描述】:

是否可以通过意图将日历对象从一个 Activity 传递到另一个?我对 hasExtra("startDate") 是正确的,但我无法获取对象本身......对于初学者的问题感到抱歉。

// Activity Two
Intent resultIntent = new Intent();
resultIntent.putExtra("endDate", endDate);
resultIntent.putExtra("startDate", endDate);
setResult(AppCompatActivity.RESULT_OK, resultIntent);


//Activity One
Bundle newText = data.getExtras();
data.hasExtra("startDate")); // returns true
newText.get("startDate") // returns null

【问题讨论】:

【参考方案1】:

假设你的意思是java.util.Calendar,它实现了Serializable,所以你可以使用putExtra()and getSerializableExtra()

【讨论】:

嗨,是的,我的意思是 Java.util.Calendar。但这对我不起作用。也返回 null。我必须先序列化它吗? @Florian:不,没有必要。您何时以及如何拨打// Activity Two 代码?你确定endDate 不是null 吗?另请注意,您为这两个附加项提供了 endDate 的值。 真丢脸...我在初始化之前就调用了它...非常感谢!您的解决方案就像一个魅力!

以上是关于带有日历对象的 Android Bundle getExtras的主要内容,如果未能解决你的问题,请参考以下文章

带有日期选择器的 Android 微调器,例如 Google 日历应用

Android课程---日历选择器和时间选择器

Android之使用Bundle进行IPC

C++学习(二九六)Android的Bundle

Android笔记——Bundle类的使用

在 MainActivity 中存储带有附加功能的 Bundle