Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to remove focus from SearchView?

I want to remove focus and text from SearchView in onResume().

I tried searchView.clearFocus() but it is not working.

This is my xml code:

<SearchView     android:id="@+id/searchView"     android:layout_width="match_parent"     android:layout_height="wrap_content"     android:layout_alignBottom="@+id/toolbar"     android:layout_alignTop="@+id/toolbar"     android:layout_centerVertical="true"     android:layout_marginBottom="4dp"     android:layout_marginTop="4dp"     android:iconifiedByDefault="false"     android:paddingLeft="16dp"     android:paddingRight="16dp" /> 
like image 583
Pradeep Deshmukh Avatar asked Jul 16 '16 12:07

Pradeep Deshmukh


1 Answers

I want to remove focus and text from SearchView in onResume()

To achieve this you could set your root layout focusable with the android:focusableInTouchMode attribute and request focus on that View in onResume().

For example:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/root_layout"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:orientation="vertical"     android:focusableInTouchMode="true">      <SearchView         android:id="@+id/search_view"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:iconifiedByDefault="false"/>  </LinearLayout> 

And then in your Activity:

private View rootView; private SearchView searchView;  // ...  @Override protected void onCreate(Bundle savedInstanceState) {      // ...      rootView = findViewById(R.id.root_layout);     searchView = (SearchView) findViewById(R.id.search_view); }  @Override protected void onResume() {     super.onResume();      searchView.setQuery("", false);     rootView.requestFocus(); } 
like image 123
earthw0rmjim Avatar answered Sep 22 '22 22:09

earthw0rmjim