[英]How to handle onActivityResult in a custom dialog class
我试图创建一个继承自Dialog的自定义对话框类,该类将允许用户选择一个联系人。 我可以使用以下方法选择显示的联系人:
this.getOwnerActivity().startActivityForResult(...);
问题在于,当用户选择联系人时,这会在对话框的父活动上调用onActivityResult()。 我想将活动结果的处理封装在对话框类中,而不是父活动中。
这个小伙子问了同样的问题 ,但没有得到可行的答案:
在Android对话框中,如何为startActivityForResult设置onActivityResult?
这可能吗? 似乎想做的一件很基本的事情,所以我认为有办法。
我可以将对话框转换为全新的活动,但是该对话框在应用程序的上下文中可以很好地工作,因此我宁愿不必诉诸于此。
该对话框是其活动的第二位。 当您使用startActivityForResult()
启动活动时,对话框将被关闭(活动可能会被回收)。 因此,当您返回YourActivity.onActivityResult()
,该对话框未处于活动状态,实际上,原来的对话框对象已不存在。 您可以再次实例化对话框,显示它,将必要的数据传递给它,然后让它执行某些操作,但这似乎是一个非常糟糕的设计。 而是在活动中处理结果,然后打开一个对话框与用户进行交流。
您可以使用DialogFragment代替Dialog。 @BlackRider已回答对话框是其活动的第二项。 当您使用startActivityForResult()启动活动时,对话框将被关闭
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.