Android:在putExtra中传递日期

时间:2011-03-21 18:40:31

标签: android android-activity

我正在启动一项活动,并希望将Date(Time)值传递给它。我已使用i.putExtra("noteName", "Hello World")传递了所有其他参数,但我对如何传递日期值并将其作为getExtra()的日期检索无能为力。

我可以轻松使用i.putExtra("noteDate",noteDate);

但是我如何在Activity的{​​{1}}中检索它;我没有看到onCreate()

我应该将其转换为extras.getDate()然后返回(Float)吗?

由于

4 个答案:

答案 0 :(得分:39)

使用date.getTime()date.setTime()并将其作为长传输。

i.putExtra("date", date.getTime());

Date d = new Date();
d.setTime(i.getLongExtra("date", -1));

答案 1 :(得分:2)

更好地转换为long,使用putExtra(String name, long value)然后重新创建,然后返回新的Activity

答案 2 :(得分:1)

我只是使用了

i.putExtra("noteDate",myDate);

然后是我使用的活动:

Date dt = new Date(extras.getString("noteDate"));

它就像一个魅力!?这有危险吗?假设始终在所有设备上正确解析日期?

答案 3 :(得分:0)

而不是

i.putExtra("date", date.getTime());
Date d = new Date();
d.setTime(i.getLongExtra("date", -1));

USE:如果您使用日历而不是日期来获取长值

i.putExtra("date", date.getTime().getTime); 
Date d = new Date();
d.setTime(i.getLongExtra("date", -1));