gpt4 book ai didi

java - 如何正确处理一个Activity中的多个 fragment 交互监听器?

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:17 27 4
gpt4 key购买 nike

我有一个 Activity 和六个不同的 Fragments 附加到它。每个 fragment 都有 OnFragmentInteractionListener 接口(interface), Activity 实现所有这些监听器以接收回调。它看起来有点乱,所以我很感兴趣是否有一些模式/方法可以简化它并使其更优雅?

最佳答案

一个好的解决方案是对所有 fragment 使用相同的 OnFragmentInteractionListener,并使用每个监听器方法的一个参数(如 TAG 参数)来识别哪个 fragment 发送了操作。

举个例子:

创建一个新类,每个 fragment 都使用这个类

OnFragmentInteractionListener.java

public interface OnFragmentInteractionListener {
public void onFragmentMessage(String TAG, Object data);
}

在您的 Activity 中:

public void onFragmentMessage(String TAG, Object data){
if (TAG.equals("TAGFragment1")){
//Do something with 'data' that comes from fragment1
}
else if (TAG.equals("TAGFragment2")){
//Do something with 'data' that comes from fragment2
}
...
}

您可以使用 Object 类型来传递您想要的每种类型的数据(然后,在每个 if 中,您必须将 Object 转换为所需的类型)。

使用这种方式,维护起来比有 6 个不同的监听器和一种方法要传递的每种类型的数据更容易。

希望这对您有所帮助。

关于java - 如何正确处理一个Activity中的多个 fragment 交互监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30762861/

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