Android 自定义对话框或以对话框为主题的活动

Android 自定义对话框或以对话框为主题的活动,android,android-activity,dialog,themes,listener,Android,Android Activity,Dialog,Themes,Listener,我看到许多开发人员选择将他们的活动主题化为一个对话框,而不是使用android对话框并对其进行定制 我在网上搜索了这个答案,但没有找到 有人能告诉我活动主题方法的优缺点吗?当然,它给了您更多的自由,但是是否有任何样式化的原因来避免自定义标准对话框 一、 我自己需要在对话框中重复使用片段,所以我创建了一个主题活动来满足我的需要,但现在我在检索主题活动的结果时遇到了麻烦 提前谢谢。 Bram1)使用startActivityForResult开始您的活动。 2) 在关闭对话框样式的活动之前,请将所需

我看到许多开发人员选择将他们的活动主题化为一个对话框,而不是使用android对话框并对其进行定制

我在网上搜索了这个答案,但没有找到

有人能告诉我活动主题方法的优缺点吗?当然,它给了您更多的自由,但是是否有任何样式化的原因来避免自定义标准对话框

一、 我自己需要在对话框中重复使用片段,所以我创建了一个主题活动来满足我的需要,但现在我在检索主题活动的结果时遇到了麻烦

提前谢谢。 Bram

1)使用startActivityForResult开始您的活动。
2) 在关闭对话框样式的活动之前,请将所需数据添加到intent extras,并使用SetResult(int,intent)进行保存。
3) 要处理结果,请将代码添加到父活动的ActivityResult,该父活动将从保存的意图中检索数据

没问题

是的,如果您需要向“对话框”中添加大量自定义逻辑,那么最好使用样式化活动。
对于简单警报,使用对话框。

自定义对话框更容易创建(您不必处理onCreate、onPause、屏幕旋转等),并且开销更小


因此,只要您不想显示比对话框更复杂的内容,就应该使用自定义对话框。

首先,感谢您的回复。我知道startActivityForResult方法。但是,我的对话框中也有GridView。当我在网格中单击一个按钮时,我需要将该按钮的信息发送到父活动。我甚至可能需要发送一个对象列表。在活动之间要传递的数据不是太多了吗?为什么需要这个?按下按钮后是否关闭对话框?如果否-也许最好将代码移动到子活动?是的,我这样做了,但我通过让类侦听片段中的事件(片段在我的对话活动中)修复了我的问题。当单击按钮时,侦听类将获得一个事件,并且还将获得对已单击按钮的引用。收到事件后,它调用片段以关闭对话框(getActivity.finish())。因此,该结构将是:activity(即开始调用)>侦听类>对话活动>片段。谢谢你的帮助。我会接受你的回答,因为你帮助我重回正轨。