У меня есть следующий код в моей деятельности, где я пытаюсь получить данные из области, а затем отобразить их в списке. Я использовал слушателя, который работает отлично.
private RealmResults<Data> mData = repo.fetchData();
// internally the call is handled by
realm.where(Data.class).findAllAsync();
mData.addChangeListener(data -> {
// access to the data stored locally
// receive updates in case data changes
// set the data to the list
});
Позже в приложении я хочу также иметь возможность фильтровать вышеуказанные данные на основе введенной пользователем строки поиска и получать результаты в том же прослушивателе. Я пробовал следующий код.
mData = poiRepo.fetchData("query");
Кажется, это не сработает, потому что возвращает новый список, к которому слушатель не присоединен. Можно ли как-то прослушать изменения в результате запроса области, когда базовые данные не изменились или каким-либо другим способом?
Чего я пытаюсь достичь.
mData.addChangeListener(data -> {
// single place where filtered data is delivered and sent to recycler view
});
function a(){
repo.fetchData( //filter parameters )
}
function b(){
repo.fetchData( //filter parameters )
}
function c(){
repo.fetchData( //filter parameters )
}