在Android中,您可以使用观察者模式来满足多个过滤条件。观察者模式允许一个或多个观察者对象监视一个主题对象的状态变化,并在状态变化时收到通知。
以下是一个使用观察者模式来满足多个过滤条件的示例:
import java.util.ArrayList;
import java.util.List;
public class Subject {
private List observers = new ArrayList<>();
public void addObserver(Observer observer) {
observers.add(observer);
}
public void removeObserver(Observer observer) {
observers.remove(observer);
}
public void notifyObservers(String data) {
for (Observer observer : observers) {
observer.update(data);
}
}
}
public interface Observer {
void update(String data);
}
public class FilterObserver implements Observer {
private String filter;
public FilterObserver(String filter) {
this.filter = filter;
}
@Override
public void update(String data) {
if (data.contains(filter)) {
System.out.println("Received data: " + data);
}
}
}
public class Main {
public static void main(String[] args) {
Subject subject = new Subject();
FilterObserver observer1 = new FilterObserver("filter1");
FilterObserver observer2 = new FilterObserver("filter2");
subject.addObserver(observer1);
subject.addObserver(observer2);
subject.notifyObservers("This is a filter1 message.");
subject.notifyObservers("This is a filter2 message.");
}
}
输出结果将会是:
Received data: This is a filter1 message.
Received data: This is a filter2 message.
在这个示例中,我们创建了两个观察者对象(observer1
和observer2
),它们根据不同的过滤条件进行筛选并处理数据。当主题对象(subject
)发生变化时,它会通知所有观察者对象,并根据过滤条件进行处理。
您可以根据自己的需求修改过滤条件和处理逻辑。