2013-05-05 168 views
0

我有一个简单的应用程序与两个片段。正确的片段正在被替换。内部的edittext具有requestfocus,但不显示键盘。Fragment中的软键盘不显示edittext

在Android 4.2.2上,它工作正常,在2.3.x上它不在模拟器和真实设备上。在模拟器上,我可以键入我的Windows键盘,但没有显示软键盘。

我没有故意隐藏键盘。使用以下代码显示键盘仅适用于4.2.x.

InputMethodManager imgr = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); 
imgr.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); 

任何提示?

回答

0

做更多的研究我发现了以下内容。

因为我需要将重点放在EditText上,我第一次清除病灶,然后把它放回去:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     myFilter.clearFocus(); 
} 

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 

    myFilter.requestFocus(); 
} 

键盘没有显示,但一旦用户点击的EditText,它出现。

这仍然不适用于2.3模拟器,但它适用于真实的设备。似乎是某种2.3的错误。