Serkay Sarıman
Serkay Sarıman

Reputation: 475

Close searchview programmatically

I have a searchview.Here is the code:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    searchItem = menu.findItem(R.id.action_search);
    SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE); 
    searchView = (SearchView)searchItem.getActionView();
    searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));

    searchView.setQueryHint(getResources().getString(R.string.hint)); //if you want a custom hint
    searchView.setOnQueryTextListener(this);
    EditText et = (EditText)searchView.findViewById(searchView.getContext().getResources()
            .getIdentifier("android:id/search_src_text", null, null));
    et.setHintTextColor(getResources().getColor(R.color.white));

    if (hideSearchButton == false) {
        menu.findItem(R.id.action_search).setVisible(true);
        menu.findItem(R.id.action_shuffle).setVisible(true);
    }else{
        menu.findItem(R.id.action_shuffle).setVisible(false);
        menu.findItem(R.id.action_search).setVisible(false);
    }
    searchView.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View view, boolean queryTextFocused) {
            if(!queryTextFocused) {
            }
        }
    });
    return true;
}

I have to close this searchivew from another method.How can I do this ? I researched another questions but not worked.

Upvotes: 1

Views: 3201

Answers (1)

pskink
pskink

Reputation: 24720

use MenuItem.collapseActionView() in your case searchItem.collapseActionView()

Upvotes: 7

Related Questions