Android 我能';在“搜索”视图中搜索后,不要隐藏我的键盘
在onQueryTextSubmit中尝试以下操作:Android 我能';在“搜索”视图中搜索后,不要隐藏我的键盘,android,Android,在onQueryTextSubmit中尝试以下操作: final android.support.v7.widget.SearchView searchView = (android.support.v7.widget.SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search)); SearchManager searchManager = (SearchManager) getSystem
final android.support.v7.widget.SearchView searchView = (android.support.v7.widget.SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
SearchManager searchManager = (SearchManager) getSystemService(SEARCH_SERVICE);
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setFocusable(false);
searchView.setOnQueryTextListener(new android.support.v7.widget.SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(searchView.getWindowToken(),
InputMethodManager.RESULT_UNCHANGED_SHOWN);
if (query.length() >= 3) {
String urlfilter = "http://frenzinsoftwares.in/alert/apis/search.php" +
"?key=" + query.toString();
if (isNetworkAvailable()) {
new GetMyAppliancesfilter().execute(urlfilter);
} else {
Toast.makeText(ListActivity.this, "No Network Available",
Toast.LENGTH_LONG).show();
}
}
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
if (isSearch) {
if (isNetworkAvailable()) {
if (newText.length() == 0) {
String url2 = "http://frenzinsoftwares.in/alert/apis/filter_by_category.php" +
"?category=" + selcategory.toString() +
"&city=" + 1;
new Filtercategory().execute(url2);
}
} else {
Toast.makeText(ListActivity.this, "No Network Available",
Toast.LENGTH_LONG).show();
}
} else {
isSearch = true;
}
if (newText.length() >= 3) {
String urlfilter = "http://frenzinsoftwares.in/alert/apis/search.php" +
"?key=" + newText.toString();
if (isNetworkAvailable()) {
new GetMyAppliancesfilter().execute(urlfilter);
} else {
Toast.makeText(ListActivity.this, "No Network Available",
Toast.LENGTH_LONG).show();
}
}
return false;
}
});
请尝试以下内容:
searchView.postDelayed(new Runnable() {
@Override
public void run() {
InputMethodManager imm = (InputMethodManager) searchView.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(searchView.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}, 50);
尝试使用通用方式隐藏键盘:
searchView.clearFocus();
if (getCurrentFocus()!=null){
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
}
创建隐藏
键盘的方法并调用它:
View activeView = activityContext.getCurrentFocus();
if (activeView != null) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(activeView.getWindowToken(), 0);
}
private void hideKeyboard() {
View view = this.getActivity().getCurrentFocus();
if (view != null) {
view.clearFocus();
InputMethodManager inputMethodManager = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
}