gpt4 book ai didi

Android:从DialogFragment回调 fragment ?

转载 作者:搜寻专家 更新时间:2023-11-01 08:41:50 24 4
gpt4 key购买 nike

我知道要将 fragment 中的某些内容传回其调用 Activity ,您可以使用具有“Activity ”参数的 onAttach。您可以将 Activity 设置为变量,稍后调用它的接口(interface)。因此将数据从 fragment 传回 Activity 。一切都很好。

我想做同样的事情,但这次我有一个标准 fragment ,我想调用一个 DialogFragment 然后让 DialogFragment 回调到原来的 fragment ,但我不能使用 onAttach 是想要一个 Activity

有人知道这样做的最佳方法吗?

谢谢

最佳答案

显然,您可以在您的 Activity 中将内容公开并从您的 fragment 中设置它们。但是你必须保留对你的 Activity 的引用,并且可能有不需要的公共(public)变量和/或 setter 。

你可以使用 EventBus你不需要任何这些。

在你的 Activity 中你需要注册一个事件

@Override
public void onStart() {
super.onStart();
EventBus.getDefault().register(this);
}

@Override
public void onStop() {
EventBus.getDefault().unregister(this);
super.onStop();
}

// This method will be called when a MessageEvent is posted
public void onEvent(MessageEvent event){
Toast.makeText(getActivity(), event.message, Toast.LENGTH_SHORT).show();
}

然后你可以简单地从你的 fragment 或任何你喜欢的地方调用你的事件,

EventBus.getDefault().post(new MessageEvent("Hello everyone!"));

可以找到有关 EventBus 的更多信息 hereanother possibly useful tutorial .

关于Android:从DialogFragment回调 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31865053/

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