(Android) Как сохранить данные об активности (просмотр списка) при запуске нового действия и перезапуске основного действия просмотра списка действий - PullRequest
0 голосов
/ 12 октября 2011

Я новичок в разработке Android.Я хочу разработать анкету.В анкете есть только два вида деятельности Основной вид деятельности и камеральный вид деятельности.в мае Основная активность у меня ListView с ListView.CHOICE_MODE_MULTIPLE. + два текстовых поля для широты и долготы.когда пользователь дает правильный вопрос, я установил флажок грамматически.Когда все вопросы отмечены, тогда пользователь может захватить фотографию, поэтому я запускаю действие камеры при нажатии кнопки, например

Intent cameraIntent = new Intent(myContext,MyCAMERA.class);
startActivity(cameraIntent); 

Когда пользователь подтверждает фотографию, я запускаю Основной прирост активности следующим образом

Intent mainIntent = new Intent(this, MAINActivity.class);

startActivity(mainIntent);

Когда явернуться назад к основной деятельности, как упоминалось выше, все мои флажки сняты (потеряли данные), текстовые поля свободны.Как я могу сохранить эти данные в исходном состоянии, когда вернусь из камеры? Мой код выглядит следующим образом:

Основная деятельность

super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
irisContext = this;
mHandler = new Handler();
getGUIFromXMLDoc();
.
.
.
. so on

Все остальные функции нажатия кнопок, вызываемые в функции getGUIFromXMLDoc() и т. Д.

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

Я уже смотрел на какой-то похожий вопрос в этом блоге, но не нашел никакого соответствующего ответа или не дал четкого объяснения

Пожалуйста, помогите мне как можно скорее

Ответы [ 2 ]

3 голосов
/ 12 октября 2011

запустите свою активность камеры следующим образом

Intent mainIntent = new Intent(this, MAINActivity.class);
startActivityForResult(mainIntent);

это запустит действие камеры, так как ребенок не начнет новое действие с камеры, когда вы закончите работу с камерой, закончите таким образом

setResult(RESULT_OK);
finish();

из если отменить с этого действия, то сделать это

setResult(RESULT_CANCEL);
finish();

теперь он завершит работу с камерой и вернется к основному занятию

0 голосов
/ 12 октября 2011

Вы можете сохранить состояние активности в методе обратного вызова onSaveInstanceState () в MainActivity. Когда вы вернетесь к этому занятию в следующий раз, вы можете получить данные из Bundle в методе onCreate ().

Другой способ - запустить действие MyCamera с помощью startActivityForResult (), а после выполнения действия MyCamera установить значение результата и завершить его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...