У меня большие проблемы с открытием и закрытием клавиатуры с помощью searchview на панели инструментов в качестве панели действий. Когда я нажимаю кнопку поиска, он расходуется как действие, и появляется текст редактирования, но он не имеет фокуса, и они не открывают клавиатуру. Мне нужно вручную щелкнуть по edittext, чтобы открыть клавиатуру. То же самое для закрытия клавиатуры. Когда я нажимаю кнопку быстрого поиска, они не закрываются.Автоматически открывать/закрывать клавиатуру с помощью SearchView на панели инструментов
Я уверен, что это уже работало без использования панели инструментов .... но я не могу исправить ее с помощью панели инструментов. У кого-нибудь есть идея?
Это мое меню:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.toolbar.MainActivity" >
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_action_search"
app:showAsAction="ifRoom|collapseActionView"
app:actionViewClass="android.widget.SearchView"
android:title="@string/action_search"/>
<item
android:id="@+id/action_contact"
android:icon="@drawable/ic_action_settings"
app:showAsAction="ifRoom"
android:title="@string/action_settings"/>
И это мой onCreateOptionsMenu
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
// Get the SearchView and set the searchable configuration
SearchManager searchManager = (SearchManager)getSystemService(Context.SEARCH_SERVICE);
searchView = (SearchView) menu.findItem(R.id.action_search).getActionView();
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
// Do not iconify the widget;expand it by default
searchView.setIconifiedByDefault(false);
setSearchIcons();
return super.onCreateOptionsMenu(menu);
}
Спасибо за любые советы. Приветствия!
EDIT1:
Ну, очевидно, после 10 часов борьбы я задаю этот вопрос и 30мин позже я нашел решение.
Это приложение: showAsAction = "ifRoom | collapseActionView" collapseActionView. Удаление этого делало трюк. Но теперь у меня другая проблема. Когда окно поиска расширяется, кнопка настроек выглядит очень плохо. Кнопка настройки наполовину видима/вырезана наполовину.
На API 21 Nexus 4 Android 5 в режиме поиска вырезается кнопка настроек. На THL 5000 с Android 4.4.2 поиск выглядит нормально, но значки не белые, как на Nexus, но серые. Любая идея?
Спасибо за ваш ответ! Ну, мой поискView не всегда расширяется, только после нажатия на значок поиска. Я просто попытался установить searchView.setIconifiedByDefault (true), и теперь у меня очень странное поведение. Если вы получили большой значок поиска и нажав на этот значок, появится значок меньшего поиска, и после нажатия маленького значка поиска все будет работать так, как ожидалось. Таким образом, кажется, что моя функция поиска находится за другой кнопкой. – Patric
Хорошо. Я все равно отредактировал свой ответ. Надеюсь, это поможет кому-то. – Vamsi
Спасибо! Я определенно могу использовать ваш метод. Возможно, у вас есть идея, как решить новую проблему. Еще раз спасибо! – Patric