Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to disable searchview?

Can you help me on how to disable searchview when button is pressed? I'm trying this code:

searchView.setEnabled(false);
                searchView.setFocusableInTouchMode(false);
                searchView.clearFocus();

but it seems not working. I can still input text in searchview.

Thanks.. :))

like image 259
Theresa Gamit Avatar asked Dec 09 '13 23:12

Theresa Gamit


2 Answers

All above questions don't work for me. Becase SearchView is a ViewGroup, so we have to disable all its child views.

private void enableSearchView(View view, boolean enabled) {
    view.setEnabled(enabled);
    if (view instanceof ViewGroup) {
        ViewGroup viewGroup = (ViewGroup) view;
        for (int i = 0; i < viewGroup.getChildCount(); i++) {
            View child = viewGroup.getChildAt(i);
            enableSearchView(child, enabled);
        }
    }
}

In other place, call this:

enableSearchView(searchView, true/false);
like image 84
Cuong Nguyen Avatar answered Sep 23 '22 02:09

Cuong Nguyen


You can use:

searchView.clearFocus();

and if you want to hide it using:

searchView.setVisibility(View.GONE);
like image 25
Karla Avatar answered Sep 27 '22 02:09

Karla