gpt4 book ai didi

java - 在实现该方法的所有类上调用该方法

转载 作者:太空宇宙 更新时间:2023-11-04 12:12:11 25 4
gpt4 key购买 nike

我有一个 Activity 和 10 个片段。我创建了一个接口(interface)并在所有片段上实现它。如何在 Activity 的所有片段上调用该方法?

  public interface OnConnectListener {
void isDeviceConnected(boolean b);
}

更新:

根据您的建议,我这样做了:

public void isDeviceConnected(boolean b, List fragmentList) {
for (OnConnectListener listener : getOnConnectListeners(fragmentList)) {
listener.isDeviceConnected(b);
}
}

public List<OnConnectListener> getOnConnectListeners(List fragmentList) {
List<OnConnectListener> listeners = new ArrayList<>();
for (Object o : fragmentList) {
if (o instanceof OnConnectListener) {
listeners.add((OnConnectListener) o);
}
}
return listeners;
}

现在我只使用:

isDeviceConnected(true, fragmentList);

非常感谢。

最佳答案

假设您的“Activity”类拥有 10 个“onConnectListener”实例的引用,您可以循环遍历每个实例并调用 isDeviceConnected,如下所示:

private List<onConnectListener> onConnectListeners;
....
for(onConnectListener onConnectListener: onConnectListeners) {
onConnectListener.isDeviceConnected(true); // or false
}

顺便说一句:Java 命名约定规定类名以大写字母开头,而接口(interface)通常以字母“I”开头因此,最好将接口(interface)命名为 IOnConnectListener

关于java - 在实现该方法的所有类上调用该方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39766604/

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