private void updateSearchList(boolean isLoadMore) { if (isLoadMore) { if (tempList != null) { searchList.addAll(tempList); searchListAdapter.notifyDataSetChanged(); if (tempList.size() < 20) { searchResultListView.setCanLoadMore(false); } searchResultListView.onLoadMoreOver(); tempList.clear(); } } else { if (tempList != null) { searchList.addAll(tempList); searchListAdapter = new SearchResultAdapter(searchList); searchResultListView.setAdapter(searchListAdapter); if (tempList.size() < 20) { searchResultListView.setCanLoadMore(false); } else { searchResultListView.setCanLoadMore(true); } if (tempList.size() == 0) { myErrText.setText("暂无结果"); myErrText.setVisibility(View.VISIBLE); } else { myErrText.setVisibility(View.GONE); } tempList.clear(); } } }
public SearchableActivity() { mAllAlbums = new ArrayList<>(); mAdapter = new SearchResultAdapter(mAllAlbums); mAdapter.setHasStableIds(true); mImageUris = new ArrayList<Uri>(); mSendPhoto = false; }
@Override public boolean onQueryTextChange(String query) { final List<Album> filteredModelList = filter(mAllAlbums, query); mAdapter.setAlbums(filteredModelList); mResultsView.scrollToPosition(0); return true; }
@Override public VisualSearchResult reevaluate( List<SearchResult> sourceValue, VisualSearchResult transformedValue) { resultCount.addAndGet(-transformedValue.getSources().size()); ((SearchResultAdapter) transformedValue).update(); resultCount.addAndGet(transformedValue.getSources().size()); return transformedValue; }
private void fillResultToRecyclerView(String query) { List<SearchResult> newResults = new ArrayList<>(); for (int i = 0; i < 10; i++) { SearchResult result = new SearchResult(query, query + Integer.toString(i), ""); newResults.add(result); } mResultAdapter.replaceWith(newResults); }
@Override public void onBackPressed() { if (mSearchView.isSearching()) { mSearchView.closeSearch(); } else if (mRecyclerView.getVisibility() == View.VISIBLE) { mResultAdapter.clear(); mRecyclerView.setVisibility(View.GONE); } else { super.onBackPressed(); } }