我看到this question集合在SearchView EditText上,当我从ActionBar激活搜索时。然而,键盘在获得焦点时不会弹出。不应该,因为它只是一个正常的EditText? (这是一个正常的EditText?)这种行为是在Android SDK级别11上看到的。(Samsung Galax Tab 7.7 with stock Android。)使用SearchView在搜索操作栏上激活时显示软键盘
我有一个解决方法,此刻挂钩了我的Activity的onOptionsItemSelected(MenuItem item)
方法,显示键盘。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
boolean menuSelectionHandeled = super.onOptionsItemSelected(item);
// menu_search is the id of the menu item in the ActionBar
if (item.getItemId() == R.id.menu_search) {
mInputManager.showSoftInput(null, InputMethodManager.SHOW_IMPLICIT);
}
return menuSelectionHandeled;
}
其中mInputManager
是InputMethodManager
的实例。
ActionBar是用ActionBarSherlock构建的,而且由于目标设备是Android 3.x,这可能是导致症状的原因吗?按照ActionBarSherlock的FAQ:
在Android 3.x的操作栏(又称蜂窝)不 实现所有的一个在Android的4.x版(冰淇淋三明治 )的功能。为了在所有平台 上提供完整的操作栏API,并统一所有Android版本的样式,使用自定义 实现。
不知道这真的是问题,但我有一个问题,当我的XML文件中包含了'EditText'在从ActionBarSherlock(即示例文件,我不能不要让我的回调textchange等工作),但是当我改变了一个'SearchView',而是添加了适当的回调它刚刚开始按预期工作。也许给一个尝试? – lfxgroove
另外,检查出http://stackoverflow.com/questions/11011091/how-can-i-focus-on-a-collapsible-action-view-edittext-item-in-the-action-bar-wh – lfxgroove
谢谢@Anton这个问题让我觉得没有办法自动显示键盘。他和我有同样的解决方法。在我的XML中,我绝对使用SearchView。谢谢 – Diederik