package com.example.flickrbrowser2; import android.app.SearchManager; import android.app.SearchableInfo; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.util.Log; import android.view.Menu; import android.widget.SearchView; public class SearchActivity extends BaseActivity { private static final String TAG = "SearchActivity"; private SearchView mSearchView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d(TAG, "onCreate: starts"); setContentView(R.layout.activity_search); // Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); // setSupportActionBar(toolbar); activateToolBar(true); Log.d(TAG, "onCreate: ends"); } @Override public boolean onCreateOptionsMenu(Menu menu) { Log.d(TAG, "onCreateOptionsMenu: starts"); getMenuInflater().inflate(R.menu.menu_search, menu); SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); mSearchView = (SearchView) menu.findItem(R.id.app_bar_search).getActionView(); SearchableInfo searchableInfo = searchManager.getSearchableInfo(getComponentName()); mSearchView.setSearchableInfo(searchableInfo); Log.d(TAG, "onCreateOptionsMenu: " + getComponentName().toString()); Log.d(TAG, "onCreateOptionsMenu: hint is " + mSearchView.getQueryHint()); Log.d(TAG, "onCreateOptionsMenu: searchable info is " + searchableInfo.toString()); mSearchView.setIconified(false); mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() { @Override public boolean onQueryTextSubmit(String s) { SharedPreferences sharedPreferences= PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); sharedPreferences.edit().putString(FLICKR_QUERY,s).apply(); finish(); return true; } @Override public boolean onQueryTextChange(String s) { return false; } }); mSearchView.setOnCloseListener(new SearchView.OnCloseListener() { @Override public boolean onClose() { finish(); return false; } }); Log.d(TAG, "onCreateOptionsMenu: returned " + true); return true; } }