Могу ли я сохранить другой экземпляр Activity в Android? - PullRequest
0 голосов
/ 29 сентября 2011

Я хочу знать, могу ли я сохранить два или более экземпляра Activity и использовать эти экземпляры в соответствии с моими требованиями.

Например, у меня есть две Activity, например A & B.

Я перехожу из Занятия А в Б, проверяя некоторые условияесли условие соответствует первому экземпляру действия B, следует запустить еще один.

Например, в Activity BI есть форма с некоторыми правками редактирования, некоторые флажки и форма имеют две кнопки Сохранить и Отменить.Если пользователь нажимает кнопку «Сохранить», он переходит к действию А и отправляет все данные формы, которые пользователь заполнил, на занятие А. На занятии А отображаются все данные, заполненные пользователем.

Но когда пользователь снова переходит к действию В, он должен увидетьвсе поля, которые пользователь ранее сохранил.

После повторного входа в действие B пользователь изменяет данные или заполняет другие поля, и вместо сохранения он нажимает кнопку отмены и переходит в действие A без отправки каких-либо данных.

поэтому в упражнении A отображаются только ранее сохраненные данные, не измененные или лишние.

Но когда я снова перехожу на B, я должен видеть только данные, которые пользователь сохранил в первый раз.

Я думаю, что смогу сделатьэто с помощью SharedPrefernces.Но я хочу знать, могу ли я сохранить два или более экземпляров Действия B, чтобы при условии, что я могу использовать требуемый.

1 Ответ

1 голос
/ 29 сентября 2011

Вы не можете реально сохранить экземпляр Activity в методе, который вы упомянули. Вы правы в своем предположении, что SharedPreferences - это один из способов выполнения вашей задачи.

В вашем примере, я хотел бы, чтобы действие B всегда извлекало данные формы из SharedPreferences. Кроме того, при нажатии кнопки «Сохранить» данные формы будут сохранены в SharedPreferences. Наконец, в Деятельности A вы будете показывать данные из SharedPreferences, когда бы они ни были доступны.

Если вы хотите узнать, было ли закрыто действие B через «Сохранить» или «Отмена» в действии A, вам следует начать действие B с startActivityForResult. Затем в Деятельности B вызовите setResult в обработчике onClick для кнопки «Сохранить» или «Отмена». Наконец, действие A получит этот результат в onActivityResult.

...