2016-09-29 43 views
1

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

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

UPDATE:

使用您的建议我这样做:

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); 

太谢谢你了。

+0

请正确填写答案 – chrisl08

回答

0

假设你的“活动”类持有的10“onConnectListener”实例的引用,可以循环通每调用isDeviceConnected像这样:

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

顺便说一句:Java的命名约定声明,类名开始用大写字母,并iterfaces通常以字母开头“我” 所以它的最好的,如果你的名字你的界面IOnConnectListener

+0

这是一个很好的回应。我会尝试。 –

相关问题