Cache search tab page titles

This commit is contained in:
M66B 2020-06-22 08:19:40 +02:00
parent 9aca7fde1d
commit 388bda791d
1 changed files with 8 additions and 6 deletions

View File

@ -215,6 +215,7 @@ public class FragmentOptions extends FragmentBase {
searchView.setOnSuggestionListener(onSuggestionListener);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
private String[] titles = null;
private View[] views = null;
@Override
@ -239,18 +240,19 @@ public class FragmentOptions extends FragmentBase {
MatrixCursor cursor = new MatrixCursor(new String[]{"_id", "tab", "resid", "title"});
if (query != null && query.length() > 1) {
if (views == null) {
if (titles == null || views == null) {
titles = new String[TAB_PAGES.length];
views = new View[TAB_PAGES.length];
LayoutInflater inflater = LayoutInflater.from(searchView.getContext());
for (int tab = 0; tab < TAB_PAGES.length; tab++)
for (int tab = 0; tab < TAB_PAGES.length; tab++) {
titles[tab] = (String) adapter.getPageTitle(tab);
views[tab] = inflater.inflate(TAB_PAGES[tab], null);
}
}
int id = 0;
for (int tab = 0; tab < TAB_PAGES.length; tab++) {
String title = (String) adapter.getPageTitle(tab);
id = getSuggestions(query.toLowerCase(), id, tab, title, views[tab], cursor);
}
for (int tab = 0; tab < TAB_PAGES.length; tab++)
id = getSuggestions(query.toLowerCase(), id, tab, titles[tab], views[tab], cursor);
}
searchView.setSuggestionsAdapter(new SimpleCursorAdapter(