gpt4 book ai didi

java - 实现 Fragment 到 Activity 的通信而不直接在 Activity 中实现接口(interface)

转载 作者:行者123 更新时间:2023-11-29 02:39:09 24 4
gpt4 key购买 nike

我有一个主要的activity,负责在不同的fragment之间切换。这些 fragment 具有 Activity 需要实现的接口(interface),以便 fragment 将数据发送回 Activity 。

目前,我将 fragment 中 onAttach 方法的上下文转换为 fragment 中指定的特定接口(interface)的实例。但是,由于 Activity 类必须实现所有这些才能使转换工作,因此接口(interface)中指定的方法也需要直接在类中实现。

我想做的是创建这些接口(interface)的实例并将它们保存到类变量中。问题是如何将引用传递给 fragment ?该过程应尽可能通用,以便于添加 fragment 。

所以代替传统方式

class MyActivity extends Activity implements MyFragmentListener {
public void myFragmentMethod() {
// ...
}
}

我想要的是

class MyActivity extends Activity {
private MyFragmentListener myFragmentListener = new MyFragmentListener() {
public void myFragmentMethod() {
// ...
}
};
}

问题是如何将接口(interface)实现告知 fragment 。使用 BroadcastReceiver 可以,但看起来有点乱。

最佳答案

EventBus

又不是脏东西☺️试一试,你很快就会上瘾的……它专为像您这样的情况而设计,而且使用起来 super 简单。您定义了一个类,您可以添加参数、方法等等……您只需填充所需的事件(使用类名),天空是这里的极限。 EventBus

你会在那里看到描述

关于java - 实现 Fragment 到 Activity 的通信而不直接在 Activity 中实现接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45402072/

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