6

我有一个SherlockFragmentActivity和一个TabManager内的SherlockFragment。在这个片段中,我有一个LinearLayout中的RadioButtons,CheckBoxes,一个Button和一个EditText。按下EditText时键盘有时不响应。Android软键盘如何不响应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" > 

我很困惑不一致的活动更比一个事实,即它不会对4.0 AVD工作。为什么会发生这种情况的任何建议或显示键盘的方法都会很棒。

+1

好知道这不仅仅是为了我自己更多的问题。我认为我的节目很糟糕。当然希望我可以在文档中找到有关如何执行操作的直接指令的参考资料,因为知道仅在模拟器中发现错误的可能性,因此难以测试其他版本。 – JRomero

+0

我现在有这个问题!我有我的制作应用程序的报告,软键盘没有打开。我不能在任何尝试中复制它,但我知道存在的问题是因为用户给我看了。 – AutoM8R

回答

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(); 
} 
}); 

编辑:
对于emulator,我认为这是不guaranteed.Really我没有任何方式出现软键盘编程方式。有些时候它出现,有些时候没有。在与Android 4.0.3的模拟器,你可以看到一个通知栏中的符号,而不是出现软键盘:
enter image description here

看:
Event for Handling the Focus of the EditText
Forcing the Soft Keyboard open

+0

非常感谢。它现在一直在我的设备上运行。尽管4.0 AVD仍然不启动键盘。我要在带有ICS的设备上试用它,并且让它知道它是否仍然正常工作。 – piz

+0

@piz请参阅我的编辑。 – hasanghaforian

+0

在4.0.4中正常工作 –