- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
搜索完成后,我尝试隐藏软键盘,但我找不到失败的原因。
我创建如下搜索菜单:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
String[] mSubActionsTitles = getResources().getStringArray(R.array.sub_actions_array);
MenuItem item = menu.add(0, R.id.search, 0, mSubActionsTitles[0]);
searchMenuItem = item;
item.setIcon(android.R.drawable.ic_menu_search);
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
mSearchView = new SearchView(getActivity());
mSearchView.setOnQueryTextListener(this);
mSearchView.setOnCloseListener(this);
mSearchView.setIconifiedByDefault(true);
mSearchView.setQueryHint(getString(R.string.label_tvGivePosition));
item.setActionView(mSearchView);
}
当输入文本时,我启动了一个执行 HTTP 查询的 AsyncTask()
。然后,我们收到响应,我在尝试隐藏键盘的地方调用委托(delegate):
public synchronized void sitesLoadingFinish(Integer result) {
searchMenuItem.collapseActionView();
View view = activity.getCurrentFocus();
view.clearFocus();
InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
所以 searchMenuItem.collapseActionView()
很好地折叠,没问题,但我无法关闭软键盘。
最佳答案
View view = activity.getCurrentFocus();
view .postDelayed(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
InputMethodManager keyboard = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.hideSoftInputFromWindow(view, 0);
}
},50);
关于android - 我无法让 hideSoftInputFromWindow 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41612067/
对于某些 EditText View ,我想使用自定义键盘而不是软键盘。 问题是当我第一次点击 EditText 时,两个键盘都会显示。当我第二次点击时 - 软键盘终于消失了。 这种行为的原因可能是什
我在这一行得到一个空指针异常: public void hideKeyboard(){ InputMethodManager inputManager = (InputMethodManager)
我有 Java 代码,可以使用 InputMethodManager 隐藏软键盘。当我将代码转换为 Kotlin 时,相同的代码会引发 NoMethodFound 异常。 我可以轻松地在 Java 和
搜索完成后,我尝试隐藏软键盘,但我找不到失败的原因。 我创建如下搜索菜单: @Override public void onCreateOptionsMenu(Menu menu, MenuInfla
我有一些代码: inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0, new Result
我是一名优秀的程序员,十分优秀!