onCreateInputConnection возвращает значение null для SearchView - PullRequest
0 голосов
/ 05 августа 2020

Я пытался получить входное соединение SearchView. Я хочу сделать это b / c У меня есть клавиатура в приложении, и всякий раз, когда пользователь хочет выполнить поиск, я буду отображать свою клавиатуру в приложении. Для этой цели я должен получить входное соединение SearchView с помощью метода onCreateInputConnection, однако метод возвращает значение null для SearchView, но он отлично работает для EditText. Кроме того, я использую SearchView на панели навигации в качестве пункта меню.

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.options_menu_advanced_search, menu);
        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView();
        CustomAmharicKeyboard customAmharicKeyboard = findViewById(R.id.keyboard);
        customAmharicKeyboard.setVisibility(View.VISIBLE);
        InputConnection inputConnection = searchView.onCreateInputConnection(new EditorInfo());
        customAmharicKeyboard.setInputConnection(inputConnection);
    }  

1 Ответ

0 голосов
/ 05 августа 2020

SearchView не расширяет EditText на самом деле это макет, содержащий несколько представлений. Если вы хотите получить InputConnection от SearchView, вы можете попробовать это

 InputConnection inputConnection = searchView.findViewById(R.id.search_src_text).onCreateInputConnection(new EditorInfo());
...