为什么Android软键盘没有响应EditText?

为什么Android软键盘没有响应EditText?,android,android-fragments,android-edittext,android-softkeyboard,Android,Android Fragments,Android Edittext,Android Softkeyboard,我有一个SherlockFragmentActivity和一个位于TabManager中的SherlockFragment。在这个片段中,我在LinearLayout中有单选按钮、复选框、按钮和编辑文本。按编辑文本时,键盘有时不响应 在2.1 AVD中,键盘响应不一致;在4.0 AVD中,键盘根本不响应;在设备上,键盘响应不一致。有时按下其他对象会激活显示键盘的功能 以下是EditText的XML: <EditText android:id="@+id/EditText

我有一个SherlockFragmentActivity和一个位于TabManager中的SherlockFragment。在这个片段中,我在LinearLayout中有单选按钮、复选框、按钮和编辑文本。按编辑文本时,键盘有时不响应

在2.1 AVD中,键盘响应不一致;在4.0 AVD中,键盘根本不响应;在设备上,键盘响应不一致。有时按下其他对象会激活显示键盘的功能

以下是EditText的XML:

    <EditText       android:id="@+id/EditText1"
                    android:layout_width="100dp"
                    android:layout_height="wrap_content"
                    android:inputType="number"
                    android:text="20" >


我更困惑于不一致的活动,而不是它在4.0AVD上不起作用的事实。任何关于发生这种情况的原因或显示键盘的方法的建议都很好。

您可以为edittext注册焦点侦听器,并在获得焦点时打开软键盘:

edit_Text.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
    if(hasFocus){
        ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
.showSoftInput(edit_Text, InputMethodManager.SHOW_FORCED);
    }else
        Toast.makeText(getApplicationContext(), "lost the focus", 2000).show();
}
});
编辑:
对于
emulator
,我认为它不能保证。实际上,我没有任何方式以编程方式显示软键盘。有时会显示,有时不会。在使用android 4.0.3的emulator中,您可以在通知栏中看到一个符号,而不是显示软键盘:

看:


非常感谢。现在它在我的设备上一直工作。尽管4.0AVD仍然没有启动键盘。我将在一个有集成电路的设备上试用它,让你知道它是否仍然正常工作。很高兴知道这不仅仅是我自己的问题。我觉得我的程序很糟糕。当然希望我能在文档中找到关于如何做的直接说明的参考,因为知道只有在模拟器中才有可能发现bug,所以测试其他版本变得很困难。我现在遇到了这个问题!我收到关于我的生产应用程序的报告,软键盘没有打开。我无法在我尝试的任何东西上复制它,但我知道问题存在,因为有用户向我展示了它。