我有一个主要的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/