Mridang Agarwalla
Mridang Agarwalla

Reputation: 45108

Preventing the SearchView from collapsing

I have a SearchView in my action-bar. When the user searches, I invoke my AsyncTask to begin fetching the data but after the data is retuned, the SearchViewcollapses.

Here's my code that creates the search widget:

public boolean onCreateOptionsMenu(Menu menu) {

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.search, menu);

    SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

    if (this.objAdapter == null) {
        searchView.setIconified(false);
        searchView.requestFocusFromTouch();
    }

    return true;

}

I'd to prevent the user from collapsing the SearchView. I'd the search string to be visible at all times.

How can I do this?

Upvotes: 1

Views: 2543

Answers (3)

Jacek Kwiecień
Jacek Kwiecień

Reputation: 12659

On SearchView instance you need to call:

searchView.setIconified(false)
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
  @Override
  public boolean onClose() {
    return true; //returning true will stop search view from being collapsed 
  }
})

Upvotes: 1

haansn08
haansn08

Reputation: 157

Set the iconifiedByDefault attribute to false. http://developer.android.com/reference/android/widget/SearchView.html

Upvotes: -1

Renjith
Renjith

Reputation: 3617

Use search view example.

For your case, use Action Flag- SHOW_AS_ACTION_WITH_TEXT

Hope it helps!

Upvotes: 4

Related Questions