Я хочу вызвать mSearchView.clearFocus(), когда виртуальная клавиатура закрыта, как это сделать?
Моя проблема заключается в том, что как только SearchView фокусируется, он остается сфокусированным, поэтому, если я отклонил виртуальную клавиатуру с помощью кнопки «Назад» и открыл AlertDialog, например, виртуальная клавиатура снова появляется, как только я закрываю AlertDialog, поскольку представление поиска все еще фокус, как будто он восстанавливает фокус.
для SearchView, который я использовал:
android:iconifiedByDefault="false"
android:focusable="false"
для действия содержит SearchView, который я использую:
android:windowSoftInputMode="stateUnspecified|adjustPan"
даже если я изменил его на следующее, я получаю ту же проблему
android:windowSoftInputMode="stateAlwaysHidden|adjustPan"
Праздник 1:
изменение
android:iconifiedByDefault="false"
to be
android:iconifiedByDefault="true"
не решает проблему, я получаю тот же результат.
Редактировать 2:
Я попробовал подход к созданию пользовательского SearchView и переопределению onKeyPreIme и вызову clearFocus(), но onKeyPreIme не вызывается.
public class ModifiedSearchView extends SearchView {
public ModifiedSearchView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onKeyPreIme (int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_UP) {
clearFocus();
return false;
}
return super.dispatchKeyEvent(event);
}
}
menu.xml
? - person Abdul Kawee   schedule 13.02.2018