SearchView удаляет синюю линию фокусировки и показывает курсор в определенном положении

Я пытаюсь удалить синюю линию фокуса в SearchView. Я отсылаю ее в AutoCompleteTextView, чтобы я мог использовать настраиваемые значки для моего поиска.

int id = searchView.getContext().getResources().getIdentifier("android:id/search_src_text", null, null); searchtextView = (AutoCompleteTextView) searchView.findViewById(id); 

Я попытался использовать

 searchtextView.setBackGroundColor(0) 

И вручную установив фон на # 0000000 в моем xml, но я все еще вижу синюю линию внизу.

Вторая проблема, с которой я сталкиваюсь, заключается в том, что курсор не отображается в исходном тексте. Я хочу отобразить курсор, когда ничего не введено в searchview. Я пытался сделать это программно, используя

 if (searchtextView.getText().toString().length() >= 0) { searchtextView.setSelection(searchtextView.getText().toString().length()); } 

Который должен отображать курсор, даже если в поиске не существует текста. Я думаю, что он имеет какое-то отношение к фокусу, потому что, когда я печатаю 2-3 символа, курсор появляется автоматически.

Solutions Collecting From Web of "SearchView удаляет синюю линию фокусировки и показывает курсор в определенном положении"

Я смог решить эту проблему, установив фон таблицы поиска по умолчанию следующим образом

 int searchPlateId = searchView.getContext().getResources() .getIdentifier("android:id/search_plate", null, null); View searchPlateView = searchView.findViewById(searchPlateId); if (searchPlateView != null) { searchPlateView.setBackgroundColor(Color.BLACK); } 

Эта статья помогла. Ссылка на статью

Вы можете использовать

 android:queryBackground="@android:color/transparent" 

Я смог заставить его работать, очистив фокус на тексте редактирования поиска во время функции создания меню. Код ниже:

 @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); ... final MenuItem searchItem = menu.findItem(R.id.action_search); if (searchItem != null) { // Associate searchable configuration with the SearchView SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); final SearchView view = (SearchView) searchItem.getActionView(); if(view !=null){ LinearLayout searchPlate = (LinearLayout)mSearchView.findViewById(R.id.search_plate); if(searchPlate != null){ mSearchEditText = (EditText)searchPlate.findViewById(R.id.search_src_text); if(mSearchEditText != null){ mSearchEditText.clearFocus(); // This fixes the keyboard from popping up each time } } } } }