проблема с методом startActivityForResult

Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
Ответить
Аватара пользователя
mdzht
Сообщения: 124
Зарегистрирован: 11 ноя 2013, 11:33
Откуда: fock it
Контактная информация:

проблема с методом startActivityForResult

Сообщение mdzht » 14 июл 2015, 09:47

Передаю данные c Activity1 на Activity2 с методом startActivityForResult, в Activity2 обрабатываю данные, записываю новые и передаю их обратно а Activity1. Получаю, все ок. Но проблема возникает когда я нажимаю на кнопку back, Activity1 уничтожается и снова пере создается новый Activity1, и так бесконечно, а по логике приложение должно закрываться если он в главном экране. Activity1 это главный экран. У вас возникала такая проблема:? может поделитесь с опытом?
Я попробовал делать так, но не помогло:
[syntax=java5]@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data == null) {
return;
}
switch(resultCode ){
case RESULT_OK:
// do something
break;

case RESULT_CLOSE_ALL:
setResult(RESULT_CLOSE_ALL);
finish();
break;
}
super.onActivityResult(requestCode, resultCode, data);
}[/syntax]

[syntax=java5]public void onBackPressed() {
if (mNavigationDrawerFragment.isDrawerOpen())
mNavigationDrawerFragment.closeDrawer();
else{
setResult(RESULT_CLOSE_ALL);
super.onBackPressed();
}

}[/syntax]
«Life is too short to spend rewriting code»

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: проблема с методом startActivityForResult

Сообщение klblk » 14 июл 2015, 10:29

Бросается в глаза setResult() в методе onActivityResult(). Зачем он там. Хотя врядли из-за этого перезапускается.

Dark67
Сообщения: 72
Зарегистрирован: 23 июл 2012, 23:11

Re: проблема с методом startActivityForResult

Сообщение Dark67 » 14 июл 2015, 11:57

Зачем в конце вызываешь super.onActivityResult()?
setResult() в onActivityResult() не нужен или ты еще дальше передаешь результат?
Последний раз редактировалось Dark67 14 июл 2015, 12:05, всего редактировалось 1 раз.

Аватара пользователя
mdzht
Сообщения: 124
Зарегистрирован: 11 ноя 2013, 11:33
Откуда: fock it
Контактная информация:

Re: проблема с методом startActivityForResult

Сообщение mdzht » 14 июл 2015, 11:58

klblk писал(а):Бросается в глаза setResult() в методе onActivityResult(). Зачем он там. Хотя врядли из-за этого перезапускается.
Понял в чем проблема. В цикле проверка была косячных номеров и забыл сломать цикл если условия true и получал главных активити штук 10 в бекгроунд при старте со SplashActivity.
«Life is too short to spend rewriting code»

Аватара пользователя
mdzht
Сообщения: 124
Зарегистрирован: 11 ноя 2013, 11:33
Откуда: fock it
Контактная информация:

Re: проблема с методом startActivityForResult

Сообщение mdzht » 14 июл 2015, 12:04

Dark67 писал(а):Зачем в конце вызываешь super.onActivityResult()?
Я думал при выходе StartActivityResult вызывает oncreate, в StackOverFlow где то прочитал, похожую проблему, и попробовал решение который предлагается там. В логах убедился ничего подобного.
«Life is too short to spend rewriting code»

Ответить