Как передать экземпляр (объект) TIME с помощью Bundle???
Может быть простой вопрос, но мне нужен точный ответ...
DATE date=new DATE();
Как передать экземпляр (объект) TIME с помощью Bundle???
Может быть простой вопрос, но мне нужен точный ответ...
DATE date=new DATE();
Этот код является приблизительным, так как я пишу его по памяти.
Intent mIntent = new Intent(ActivityA.this, ActivityB.class);
mIntent.putLong(KEY, getTimeMilliseconds());
startactivity(mIntent);
Затем в onCreate ActivityB:
Bundle mBundle = getItent().getExtras();
Long time = mBundle.getLong(KEY);
Примечание :
putLong/getLong может применяться к нескольким типам String, int...
Если вы хотите, чтобы он применялся к пользовательскому объекту, вы должны сделать этот объект реализующим Parcelable.
Даты сериализуемы, поэтому вы можете использовать get/putSerializable
:
MyFragment fragment = new MyFragment();
Bundle bundle = new Bundle();
bundle.putSerializable(MyFragment.DATE_KEY, new Date());
fragment.setArguments(bundle);
In MyFragment
:
public void onViewStateRestored(Bundle savedInstanceState) {
super.onViewStateRestored(savedInstanceState);
Bundle bundle = savedInstanceState != null ? savedInstanceState : getArguments();
Date startTime = (Date) bundle.getSerializable(MyFragment.DATE_KEY);
this.time = startTime;
}
public void onSaveInstanceState(Bundle bundle) {
super.onSaveInstanceState(bundle);
bundle.putSerializable(MyFragment.DATE_KEY, this.time);
}
Передайте длинное значение, которое представляет вашу дату в Bundle, например. долгое время = новая дата().getTime();