Возврат из диалоговой активности в MainActivity

У меня есть эта проблема, я запускаю Activity как диалог с атрибутом android:theme="@android:style/Theme.Dialog" пока все хорошо, когда я запускаю эту активность, я хочу, чтобы пользователь заполнил EditTextS, а затем нажмите кнопку, где будет запущен фоновый процесс, теперь я использую this.setFinishOnTouchOutside(false); чтобы пользователь не нажимал снаружи и finish() моя проблема в том, что я не понимаю, как finish() в частности, это DialogLikeActivity, когда я звоню finish() после запуска фонового процесса приложение закрывается, и я хочу вернуться к MainActivity или Activity, которая запустила DialogLikeActivity (MainActivity все еще видна после startActivity или же startActivityForResult() вызывается для DialogLikeActivity, вот что я получил:

Код от MainActivity:

Intent intent = new Intent(this, DialogLikeActivity.class);
        startActivityForResult(intent,0);

и код кнопки в DialogLikeActivity:

public void saveClient(View view){
    Intent returnIntent = new Intent();
    setResult(RESULT_OK, returnIntent);
    finish();


}

Наверное, моя проблема в том, что MainActivity не является родителем DialogLikeActivity, в таком случае так и должно быть? как сделать DialogLikeActivity дочерним по отношению к MainActivity и если я достигну этого, то вызову finish() в DialogLikeActivity завершить саму активность, а не приложение?

Заранее спасибо и извините за мой английский.

РЕДАКТИРОВАТЬ:

это действие отображается в виде диалогового окна над MainActivity

1 ответ

Решение

Это звучит как DialogFragment может лучше удовлетворить ваши потребности здесь. У него есть методы жизненного цикла, аналогичные Activity и может запускать фоновые задачи внутри себя, но фактически управляется активностью, к которой он прикреплен. Есть несколько типов, которые вы можете использовать.

Проверьте документацию Google на этом ЗДЕСЬ.

Другие вопросы по тегам