Библиотека подкачки Android - не возвращает результатов - PullRequest
0 голосов
/ 22 мая 2018

Я работаю в проекте (использующем Android Room Persistence Library), в котором я хочу внедрить недавнюю Paging Library от Google.Я пытался подойти к этому без использования, и все работает нормально, но когда я пытаюсь использовать его, следуя некоторым учебникам, я не получаю никаких данных.Ребята, можете ли вы помочь мне?Понятия не имею, что я делаю не так.

NavigationDao :

    @Query("SELECT chapters.number, chapter, verses.verse_number, name, text  FROM verses INNER JOIN chapters ON chapters.chapter = verses.chapters " +
        "INNER JOIN books ON books._id = chapters.books WHERE text LIKE :keywords AND verses.types_of_verse = 1 ORDER BY verses._id")
    DataSource.Factory<Integer, SearchReference> getSearchResultPagedList(String keywords);

Репозиторий :

    public DataSource.Factory<Integer, SearchReference> getPagedListSearchResult(String keyword){
    return mNavigationDao.getSearchResultPagedList(keyword);
}

ViewModel :

    public LiveData<PagedList<SearchReference>> searchReferencePagedList;
    private SearchKeywordRepository mRepository;

    public SearchKeywordViewModel(SearchKeywordRepository repository, final String keyword){
    this.mRepository = repository;

    allSearchReferenceList = new ArrayList<>();

}

        public void init(String keyword)

    searchReferencePagedList = new LivePagedListBuilder<>(mRepository.getPagedListSearchResult(keyword), 20).build();

}

Фрагмент пользовательского интерфейса

    private void observeKeywordQuery(String keywords) {

    mViewModel.init(keywords);

    mViewModel.searchReferencePagedList.observe(this, searchReferenceList -> {
        if (searchReferenceList != null && searchReferenceList.size() > 0) {

            mRecyclerAdapter.submitList(searchReferenceList);

        } else {
            Log.d(LOG_TAG, "No verses retrieved");
        }
    });
}

1 Ответ

0 голосов
/ 28 мая 2018

После большой борьбы я нашел решение.И это было так просто, что мне стыдно.

Для отладки я бы вводил символы "deu" прямо в View Model.Проблема была в том, что я забыл добавить знак «%».Итак, в тот момент, когда я ввел «% deu%», все заработало, и я получил все результаты, как и ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...