Android: дата передачи в putExra
Я запускаю действие и хочу передать ему значение Date(Time)
. Я передал все мои другие параметры с помощью i.putExtra("noteName", "Hello World")
, но я не знаю, как передать значение даты, а затем получить его как дату с помощью getExtra()
.
Я легко могу использовать i.putExtra("noteDate",noteDate);
но как я могу получить его в Activity
onCreate()
; Я не вижу extras.getDate()
?
Должен ли я преобразовать его в Float
, а затем назад (в Activity
)?
Спасибо
Ответы
Ответ 1
Я просто использовал
i.putExtra("noteDate",myDate);
а затем по активности, которую я использовал:
Date dt = new Date(extras.getString("noteDate"));
и это работает как шарм!? Это опасно? Предполагать, что дата всегда будет корректно проанализирована на всех устройствах?
Ответ 2
Используйте date.getTime()
и date.setTime()
и перенесите его как длинный.
i.putExtra("date", date.getTime());
Date d = new Date();
d.setTime(i.getLongExtra("date", -1));
Ответ 3
лучше конвертировать в long
, использовать putExtra(String name, long value)
и снова воссоздать обратно в новый Activity
.