Sobes.tech
Back to questions
Junior — Middle
74

Каким образом можно получить результат, возвращенный из следующей Activity в Android?

Answer from AI

sobes.tech AI

Для получения результата из следующей Activity в Android традиционно используется метод startActivityForResult(). В вызывающей Activity вы запускаете новую Activity с ожиданием результата, а затем переопределяете метод onActivityResult(), где обрабатываете возвращённые данные.

Пример:

// Запуск Activity с ожиданием результата
Intent intent = new Intent(this, NextActivity.class);
startActivityForResult(intent, REQUEST_CODE);

// Обработка результата
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
        String result = data.getStringExtra("result_key");
        // Используем результат
    }
}

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

Intent resultIntent = new Intent();
resultIntent.putExtra("result_key", "some data");
setResult(RESULT_OK, resultIntent);
finish();

Начиная с AndroidX рекомендуется использовать ActivityResultLauncher и API Activity Result, которые более удобны и безопасны, но startActivityForResult всё ещё широко используется.