Кнопка поиска вида "Закрыть" скрыта

Когда в Android по умолчанию SearchView Я устанавливаю iconifide как ложь, а затем кнопку закрытия SearchView скрыт.

Требование: SearchView должен быть открыт по умолчанию, когда Activity запущен и кнопка закрытия должна быть видна;

 searchView.setSearchableInfo(searchManager.getSearchableInfo(new ComponentName(this, SearchResultActivity.class)));
 searchView.setIconifiedByDefault(false);

1 ответ

Первый способ, которым вы можете сделать это

    SearchView searchView = (SearchView)  
    menu.findItem(R.id.action_search).getActionView();
    searchView.setIconifiedByDefault(true);
    searchView.setFocusable(true);
    searchView.setIconified(false);
    searchView.requestFocusFromTouch();

или есть другой способ

     @Override
            public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
            super.onCreateOptionsMenu(menu, inflater);
            inflater.inflate(R.menu.search, menu);

            MenuItem searchItem = menu.findItem(R.id.action_search);
            mSearchView = (SearchView) MenuItemCompat.getActionView(searchItem);

            try {
                Field searchField = SearchView.class.getDeclaredField("mCloseButton");
                searchField.setAccessible(true);
                mSearchCloseButton = (ImageView) searchField.get(mSearchView);
             if (mSearchCloseButton != null) {
                 mSearchCloseButton.setEnabled(false);//  mSearchCloseButton.setEnabled(false);
                 mSearchCloseButton.setImageDrawable(getResources().getDrawable(R.drawable.transparent));
             }
            } catch (Exception e) {
                Log.e(TAG, "Error finding close button", e);
            }
        }

более подробно ссылка-1, ссылка-1

Другие вопросы по тегам