0

我有这个问题我启动一个 Activity 作为一个 Dialog 属性android:theme="@android:style/Theme.Dialog"到目前为止这么好,当我运行这个 Activity 时我希望用户填写一些EditTexts 然后按下一个按钮将启动后台进程,现在我this.setFinishOnTouchOutside(false);用来阻止用户从外部单击finish()并被调用,我的问题是我不知道如何finish()专门设置此 DialogLikeActivity,当我finish()在后台进程启动后调用时,应用程序已关闭,我想返回 MainActivity 或启动的 Activity DialogLikeActivity(在 DialogLikeActivitystartActivity或调用之后 MainActivity 仍然可见startActivityForResult(),这是我得到的:

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 中的调用会完成 Activity 本身而不是应用程序吗?

在此先感谢并为我的英语感到抱歉。

编辑:

这是在 MainActivity 上方显示为 Dialog 的 Activity

4

1 回答 1

0

听起来DialogFragment可能更适合您的需求。它具有类似于 an 的生命周期方法,Activity并且可以在自身内部运行后台任务,但实际上是由它所附加的 Activity 管理的。您可以使用多种类型。

在此处查看有关它的 Google 文档。

于 2013-07-10T20:44:35.027 回答