使用SearchView显示search操作栏激活时的软键盘

当我从ActionBar激活一个search时,我看到这个问题集中在SearchView EditText上。 但是,键盘在获得焦点时不会popup。 不应该,因为它只是一个正常的EditText? (这是一个正常的EditText?)在Android SDK级别11上可以看到这种行为。(Android Galax的Samsung Galax Tab 7.7)

我有一个解决方法,在我的活动的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; } 

其中mInputManagerInputMethodManager一个实例。

ActionBar是用ActionBarSherlock构build的,而且由于目标设备是Android 3.x,这可能是导致症状的原因吗? 按照ActionBarSherlock的FAQ :

Android 3.x(也称为Honeycomb)上的操作栏并未实现Android 4.x(冰淇淋三明治)中的所有function。 为了在所有平台上提供完整的操作栏API,并统一所有Android版本的样式,使用自定义实现。

Solutions Collecting From Web of "使用SearchView显示search操作栏激活时的软键盘"