Я внедрил Android search widget
в моем приложении navigation drawer
. Я установил его, чтобы открыть клавиатуру и сфокусировать editText
при нажатии на значок поиска. Я хочу установить кнопку «Назад» (кнопка «вверх»), чтобы скрыть клавиатуру. Я искал в сети для R.id
кнопки вверх, и нашел это android.R.id.home
. Так что я поставил его, чтобы быть:Задайте функциональность кнопки виджета поиска
@Override
public boolean onOptionsItemSelected(MenuItem item) {
...
case android.R.id.home:
hideKeyboard();
break;
...
}
Я отлажена код и заметил, что при нажатии на значок navigation bar
костров вверх по android.R.id.home
, но попав на кнопку виджета поиска даже не входит в onOptionsItemSelected(MenuItem item)
функция. Я также попытался это:
searchView.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (!hasFocus) {
hideKeyboard();
}
}
});
Но не получилось.
Как скрыть клавиатуру при нажатии кнопки назад (вверх)?
Установка вид поиска:
private void setSearchView(Menu menu) {
// Get the SearchView and set the searchable configuration
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
searchView = (SearchView) menu.findItem(R.id.search).getActionView();
// Assumes current activity is the searchable activity
searchView.setSearchableInfo(searchManager
.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false);
SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
public boolean onQueryTextChange(String newText) {
Home.getFilter().filter(newText);
return true;
}
public boolean onQueryTextSubmit(String query) {
return true;
}
};
searchView.setOnQueryTextListener(queryTextListener);
}
Вы проверяете эту тему? [OnCloseListener SearchView не работает] (http://stackoverflow.com/questions/9327826/searchviews-oncloselistener-doesnt-work/12975254#12975254). Во-вторых, этот автор не должен полагаться на 'android.R.id.home', однако, является полностью корневым. –