Android 当CustomDialog的活动完成时,如何保持它?
我有一个自定义对话框,显示得很好,但它会立即关闭,因为它的活动的finish方法会在显示后立即调用。以前,我用的是祝酒词,在同样的情况下熬夜也没有问题Android 当CustomDialog的活动完成时,如何保持它?,android,dialog,Android,Dialog,我有一个自定义对话框,显示得很好,但它会立即关闭,因为它的活动的finish方法会在显示后立即调用。以前,我用的是祝酒词,在同样的情况下熬夜也没有问题 我很确定问题在于,与Toast消息不同,自定义对话框“属于”活动,因此当活动消失时,对话框也消失了。我曾考虑使用setOnShowListener添加listener,但我认为这行不通——除非listener以某种方式阻止完成。我可以添加一个定时器延迟,但这不是一个很有吸引力的解决方案。什么是好的解决方案 我认为最好将另一个活动显示为对话框 只需
我很确定问题在于,与Toast消息不同,自定义对话框“属于”活动,因此当活动消失时,对话框也消失了。我曾考虑使用setOnShowListener添加listener,但我认为这行不通——除非listener以某种方式阻止完成。我可以添加一个定时器延迟,但这不是一个很有吸引力的解决方案。什么是好的解决方案 我认为最好将另一个活动显示为对话框 只需将其添加到应显示为对话框的新活动中
<activity android:theme="@android:style/Theme.Translucent">
但为什么要完成活动?是的,您可以将活动显示为对话框,但我想知道为什么不能避免使用finish
,然后您只需在从自定义对话框返回时调用finish
。这就是问题所在-我在调用后调用finish以显示对话框。然后您应该根据其他答案或主题调用finish
对话框,再次按照另一个答案。是的。谢谢,道格。或者使用是,这是最好的。您可以使用标准活动API,它将对话框的逻辑封装到活动中。谢谢