@Override public boolean onQueryTextSubmit(String newQuery) { newQuery = newQuery.trim(); GameCache newCache = new GameCache(newQuery + " Search Result Cache"); // clear cache, new search RetrieveSearchResultsTask newTask = new RetrieveSearchResultsTask(this, list, newCache, newQuery); newTask.execute(); searchItem.collapseActionView(); return true; }
public void updateTask(RetrieveSearchResultsTask task) { searchResultsTask = task; GamePool.getInstance().setQuery(task.getQuery()); query = GamePool.getInstance().getQuery(); GamePool.getInstance().setSearchResultsCache(task.getCache()); cache = GamePool.getInstance().getSearchCache(); Log.i(TAG, "Updating data to reflect new search: " + query); Log.i(TAG, cache.toString()); }
@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); if (mainView == null) { Log.i(TAG, "Inflating view..."); mainView = inflater.inflate(R.layout.activity_search_results_list, container, false); list = (ListView) mainView.findViewById(R.id.game_list); // LoadMore button moreResultsButton = new Button(a); moreResultsButton.setText("Load More"); moreResultsButton.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View arg0) { RetrieveAdditionalResultsTask task = new RetrieveAdditionalResultsTask(a, cache, searchResultsTask); task.execute(); } }); // Adding Load More button to listview at bottom list.addFooterView(moreResultsButton); // Click event for single list row list.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Log.i(TAG, "onChildClick: position: " + position + " id: " + id); Game game = (Game) list.getAdapter().getItem(position); GameInfoFragment.setGame(game); Fragment gameFragment = new GameInfoFragment(); FragmentTools.transitionToFragment(a, gameFragment, null); } }); searchQuery = (TextView) mainView.findViewById(R.id.search_query); searchQuery.setVisibility(View.VISIBLE); if (savedInstanceState != null) { // restore previous state restoreInstanceState(savedInstanceState); } Log.i(TAG, "Current Query: " + query); if (query != null) { searchResultsTask = new RetrieveSearchResultsTask(this, list, cache, query); searchResultsTask.doPostExecute(TaskResult.TRUE); // set up everything } } return mainView; }
public GameListAdapter getAdapter() { if (searchResultsTask != null) { return searchResultsTask.getAdapter(); } return null; }