我有这个问题我将一个Activity作为一个带有属性android:theme="@android:style/Theme.Dialog"
的对话启动到目前为止很好,当我运行这个Activity我希望用户填写一些EditText
然后按一个按钮后台进程将开始,现在我使用this.setFinishOnTouchOutside(false);
来阻止用户点击外部并finish()
被调用,我的问题是我不知道如何finish()
具体这个DialogLikeActivity ,当我在后台进程启动后调用finish()
时,应用程序关闭,我想返回MainActivity或启动DialogLikeActivity的Activity(MainActivity在startActivity
或{{1之后仍然可见为DialogLikeActivity调用,这是我得到的:
MainActivity代码:
startActivityForResult()
和DialogLikeActivity中的按钮代码:
Intent intent = new Intent(this, DialogLikeActivity.class);
startActivityForResult(intent,0);
我想也许我的问题是MainActivity不是DialogLikeActivity的父级,在这种情况下它应该是?如何制作MainActivity的DialogLikeActivity子元素,如果我实现了,那么DialogLikeActivity中对public void saveClient(View view){
Intent returnIntent = new Intent();
setResult(RESULT_OK, returnIntent);
finish();
}
的调用是否完成了Activity本身而不是app?
提前致谢,对不起我的英语。
编辑:
这是在MainActivity上方显示为对话框的活动
答案 0 :(得分:0)
听起来DialogFragment
可能更适合您的需求。它具有类似于Activity
的生命周期方法,可以在其自身内运行后台任务,但实际上由附加到它的活动管理。您可以使用几种类型。
查看其中的Google文档HERE。