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

piz*_*piz 6 android android-softkeyboard android-edittext android-fragments

我有一个SherlockFragmentActivity和一个在TabManager中的SherlockFragment.在这个片段中,我在LinearLayout中有RadioButtons,CheckBoxes,Button和EditText.按下EditText时,键盘有时不响应.

在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" >
Run Code Online (Sandbox Code Playgroud)

我对不一致的活动感到困惑,因为它不适用于4.0 AVD.任何关于为什么会发生这种情况的建议或者显示键盘的方法都会很棒.

has*_*ian 5

您可以为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();
}
});
Run Code Online (Sandbox Code Playgroud)

编辑:
对于emulator,我认为这是不guaranteed.Really我没有任何的方式来显示它出现软键盘programmatically.Some倍,有时not.In仿真器与Android 4.0.3,你可以看到在通知栏的象征,而不是出现软键盘:
在此输入图像描述

查看:
处理EditText焦点的事件
强制打开软键盘