gpt4 book ai didi

java - 如何在自定义对话框类中处理 onActivityResult

转载 作者:太空狗 更新时间:2023-10-29 16:23:03 25 4
gpt4 key购买 nike

我正在尝试创建一个继承自 Dialog 的自定义对话框类,该类将允许用户选择联系人。我可以通过以下方式让联系人选择显示:

this.getOwnerActivity().startActivityForResult(...);

问题在于,当用户选择联系人时,这会调用对话框父 Activity 的 onActivityResult();我想将 Activity 结果的处理封装在对话框类中,而不是父 Activity 中。

This chap asked the same question ,但没有收到可行的答案:

inside Android Dialog, how to setup onActivityResult for startActivityForResult?

这可能吗?似乎是一件非常基本的事情,所以我认为有办法。

我可以将对话框转换为一个全新的 Activity,但对话框在应用程序的上下文中工作得非常好,所以我宁愿不必诉诸于此。

最佳答案

对话框相对于它的 Activity 是次要的。当您使用 startActivityForResult() 启动 Activity 时,您的对话框会被关闭(并且您的 Activity 可能会被回收)。因此,当您返回到 YourActivity.onActivityResult() 时,对话框未处于 Activity 状态,实际上原始对话框对象已不存在。您可以再次实例化对话框,显示它,将必要的数据传递给它,然后让它做一些事情,但这似乎是一个非常糟糕的设计。相反,在 Activity 中处理您的结果并打开一个对话框与用户交流。

关于java - 如何在自定义对话框类中处理 onActivityResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9627298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com