【问题标题】:(android) How to send data from DialogFragment to Activity? [duplicate](android) 如何将数据从 DialogFragment 发送到 Activity? [复制]
【发布时间】:2020-12-26 16:41:48
【问题描述】:

在 MainActivity 中,当我单击按钮 DialogFragment 时显示。

我想发送从DialogFragment 获得的数据。

DialogFragment'由RecyclerView组成。每一项由TextView组成

我成功获取数据。当我点击save button时,数据必须发送到Activity

但我不知道如何将它们发送到 Activity。

Intent 必须使用startAcitivity,所以不合适。

如何将数据“DialogFragment”发送到“Activity”?

【问题讨论】:

    标签: android android-dialogfragment


    【解决方案1】:

    简单的方法是:

    • 为您的活动添加一个方法 (MyAcitivity.class) void myMethod(Mydata 数据)...
    • 当您想要发送数据时,从您的对话框中,(MyActivity)getActivity().myMethod(data)

    就是这样。

    【讨论】:

    • 谢谢。但是如何使用interface?我的意思是,在 DialogFragment 中定义接口并在 MainActivity 中实现接口的方法。然后调用实现的方法。这种方式效率低吗?
    • 也可以。在您的片段中定义一个接口。然后在您的活动中实施它。那么如果你的接口是由你的activity实现的,不需要注册到你的fragment中,可以通过((my interface)getActivity).myInterfaceMethod(data)来访问。
    • 如果你实现的方法是来自你的活动的匿名方法,你必须将它注册到你的片段中。创建片段时,您可以传递此匿名方法,但您必须管理配置更改(轮换)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 2016-12-28
    • 1970-01-01
    • 2013-09-27
    相关资源
    最近更新 更多