Android: дата прохождения в putExtra - PullRequest
22 голосов
/ 21 марта 2011

Я запускаю действие и хотел бы передать ему значение Date(Time). Я передал все остальные параметры с помощью i.putExtra("noteName", "Hello World"), но я не знаю, как передать значение даты, а затем извлечь его как дату с помощью getExtra().

Я могу легко использовать i.putExtra("noteDate",noteDate);

но тогда как мне получить его в Activity onCreate(); Я не вижу extras.getDate()?

Должен ли я преобразовать его в Float, а затем обратно (в Activity)?

Спасибо

Ответы [ 4 ]

39 голосов
/ 21 марта 2011

Используйте date.getTime() и date.setTime() и передайте его как Long.

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

Date d = new Date();
d.setTime(i.getLongExtra("date", -1));
2 голосов
/ 21 марта 2011

лучше конвертировать в long, использовать putExtra(String name, long value) и воссоздать затем обратно в новый Activity.

1 голос
/ 22 марта 2011

Я просто использовал

i.putExtra("noteDate",myDate);

, а затем на активности, которую я использовал:

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

, и это работает как шарм !?Это опасно?Предполагать, что дата всегда будет правильно анализироваться на всех устройствах?

0 голосов
/ 09 февраля 2018

Вместо

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

ИСПОЛЬЗОВАНИЕ: если вы используете Календарь вместо даты, чтобы получить длинное значение

i.putExtra("date", date.getTime().getTime); 
Date d = new Date();
d.setTime(i.getLongExtra("date", -1));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...