У меня есть activity A
и activity B
. И в моем файле манифеста я установил его режим запуска как единую задачу, чтобы поддерживать только один экземпляр каждого действия. В обоих действиях я использую три фрагмента с ViewPager
. Теперь вот проблема, когда я заполняю все поля всех фрагментов activity A
, а затем переходим к activity B
, после чего данные, заполненные фрагментами activity A
, удаляются. Итак, как мы можем восстановить состояние фрагментов?Как восстановить состояние фрагмента в представлении пейджера, если фрагмент не добавляется в задний стек?
//Global Declaration
Intent i =null;
//method i used in fragment to save the value of fields.
@Override
public void onStop() {
super.onStop();
i.putExtra("customerId", _customerId);
i.putExtra("panCardName", _panCardName);
i.putExtra("panCardAcknowledgementNmber", _panCardAcknowledgementNmber);
i.putExtra("natureOfBusiness", _natureOfBusiness);
i.putExtra("annualTurnover", _annualTurnover);
i.putExtra("networth", _networth);
i.putExtra("occupation", _occupation);
i.putExtra("date", _date);
}
//method in fragment, where i retrieve the saved values.
public void onResume() {
super.onResume();
i = getActivity().getIntent();
if(i != null) {
_customerId = i.getStringExtra("customerId");
_panCardName = i.getStringExtra("panCardName");
_panCardAcknowledgementNmber = i.getStringExtra("panCardAcknowledgementNmber");
_natureOfBusiness = i.getStringExtra("natureOfBusiness");
_annualTurnover = i.getStringExtra("annualTurnover");
_networth = i.getStringExtra("networth");
_occupation = i.getStringExtra("occupation");
_date = i.getStringExtra("date");
}
Пожалуйста, не используйте так много ** жирных ** и * курсив * в своем вопросе, поскольку их трудно читать и, как правило, раздражает многих постоянных посетителей здесь. Кроме того, вы вообще не указали код; мы предпочитаем [mcve], чтобы мы могли попытаться воспроизвести вашу проблему. –
в порядке. Простите за это. Теперь я обновил свой ответ. onResume() всегда возвращает null. –
@ KenY-N Пожалуйста, помогите :( –