2015-05-05 2 views
0

У меня есть КПК с Android и сканером штрих-кодов. Я бы спрятал всегда клавиатуру, чтобы использовать сканер штрих-кода. У меня есть с полем editetext для поиска в моих продуктах через мое приложение. Мне нужно закрыть клавиатуру, но я не теряю фокус на поле поиска. Есть какой-то способ этой функции?Android searchview скрыть клавиатуру, но без потери фокуса

Я использую searchView.clearFocus(), но я теряю фокус

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu_home, menu); 
    SearchManager manager = (SearchManager) getSystemService(Context.SEARCH_SERVICE); 
    SearchView searchView = (SearchView) menu.findItem(R.id.search).getActionView(); 
    searchView.setSearchableInfo(manager.getSearchableInfo(getComponentName())); searchView.setIconified(false); 
    searchView.setSubmitButtonEnabled(true); 
    searchView.clearFocus(); 
    return true; 
} 
+0

Сообщение нам ваш код относительно же раскладка/SearchView/фокуса ... – shkschneider

+0

OMG редактировать ваш вопрос, пожалуйста, не пишите код как комментарий, это нечитаемо. EDIT: хорошо, я сделал – shkschneider

ответ

2
public static void hideSoftKeyboard(Activity activity) { 
    InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE); 
    inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0); 
} 

Этот метод обычно работает. Я был бы очень удивлен, если бы это потеряло фокус, оно просто получило текущий фокус.

0

Добавьте это в Manifest.xml:

<your_activity 
     android:windowSoftInputMode="adjustPan|stateHidden"> 
</your_activity> 
Смежные вопросы