Android Bundle getExtras с объектом календаря

#android #android-intent #android-activity #parameter-passing

#Android #android-намерение #android-активность #передача параметров

Вопрос:

Возможно ли передавать объекты календаря из одного Activitity в другой с намерениями? Я получаю true для 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() и getSerializableExtra() .

Комментарии:

1. Привет, да, я имею в виду Java.util. Календарь. Но это не работает на моей стороне. также возвращает null. Должен ли я сначала сериализовать его?

2. @Florian: Нет, в этом нет необходимости. Когда и как вы вызываете // Activity Two код? Вы уверены, что на данный момент этого endDate нет null ? Также обратите внимание, что вы указываете значение endDate для обоих дополнительных функций.

3. Как мне не стыдно… Я вызвал его до того, как он был инициализирован… Большое спасибо! Ваше решение работает просто великолепно!