2016-04-05 2 views
0

У меня есть небольшая проблема с моими действиями ... Как-то мой метод onActivityResult никогда не вызывается, хотя я думаю, что я настроил все и не имею «ничего» или что-то вроде этого в моей манифест.onActivityResult не запускает Logger

активность A:

@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     Log.d("ASDSA","ASDSA"); 
} 

активность B:

Intent intent = new Intent(AddStockActivity.this, MainActivity.class); 
       intent.putExtra("stock", stock); 
       setResult(Activity.RESULT_OK, intent); 
       finish(); 

Журнал никогда не будет выполнен ... Что случилось с моей реализации?

EDIT: То, как я называю активность:

Intent intent = new Intent(MainActivity.this, AddActivity.class); 
       startActivityForResult(intent, Activity.RESULT_OK); 

Еще никаких действий по регистрации. Я уволил оба намерения нажатием кнопки.

+0

Покажите нам код, в котором вы стреляете в "Intent' from Activity A to Activity B –

+2

Вы начали активную деятельность или получали обычный старт? – SaNtoRiaN

ответ

1

Вам нужно позвонить startActivityForResult из деятельности А вместо startActivity при стрельбе Intent

+0

Я отредактировал мой первоначальный пост, вы можете его проверить? – Ihara

1

Начало активности B результата как этот

Intent intent = new Intent(ActivityA.this, ActivityB.class); 
startActivityForResult(intent, requestCode); 

где requestCode является целое число различать между различными запросами.

+0

Я отредактировал мой первый пост, вы можете проверить его? – Ihara

+0

Измените код запроса, например, на 1, он будет работать. – SaNtoRiaN

0

Вам нужно вызвать ActivityB из ActivityA, как это -

Intent intent = new Intent(ActivityA.this, ActivityB.class); 
startActivityForResult(intent, <your_request_code_here>); 

Вам не нужно писать это в ActivityB

Intent intent = new Intent(AddBienenstockActivity.this, MainActivity.class); 
intent.putExtra("stock", stock); 

После делать свою работу только

  setResult(Activity.RESULT_OK, intent); 
      finish(); 

от ActivityB

+0

Я отредактировал мой первоначальный пост, вы можете проверить его? – Ihara

+0

Пожалуйста, внимательно ознакомьтесь с моим сообщением. Вам не нужно использовать - Intent intent = new Intent (AddBienenstockActivity.this, MainActivity.class); intent.putExtra («запас», запас); Просто используйте - setResult (Activity.RESULT_OK, намерение); finish(); –

0

Okey guys Я понял это. Мне нужно было изменить код на этот:

Intent intent = new Intent(MainActivity.this, AddActivity.class); 
startActivityForResult(intent, 1); 

Любой может объяснить, почему?

Смежные вопросы