Android OS 4.4 KitKat Android Studio AndroidOS Androidアプリ アプリ開発

Android SearchViewでフォーカスが当たった場合にキーボードを隠す

SearchViewを追加してActivityを起動した際に、自動的にフォーカスが当たってしまい、キーボードが予期しない時(起動時)に表示されたりする場合の対処。

これは自動的にSearchViewにフォーカスが当たってしまうため、他のパーツにフォーカスを当てることでキーボードを表示させないようにできる。

◆SearchViewのフォーカスを外す

これはonQueryTextSubmitに仕込んでおくと良いです。

search.clearFocus();

 

◆他にフォーカスを当てる

適当にフォーカスを当てるビューにフォーカスを設定

listView.requestFocus();

 

◆明示的にキーボードを隠す場合

エラーになる場合もありますが、キーボードを隠す方法

    private void hideKeyboard(){
        InputMethodManager inputManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
    }

 

-Android OS 4.4 KitKat, Android Studio, AndroidOS, Androidアプリ, アプリ開発
-, , , , , ,

Copyright© LAPTURE , 2020 All Rights Reserved.