2011-06-25 65 views
0

嗨我把edittext控件包装在用户请求的屏幕上显示的控件上。它覆盖整个屏幕,直到用户按下键盘上的“完成”按钮。android - 按需显示软键盘

我无法在屏幕上明确显示控件。只有当用户点击控制时才显示。我错过了什么吗?

我甚至尝试这个,当我启动该编辑文本存在于覆盖它不布林起来:

customCOntrol.showKeyboard(); 

public void showKeyboard() 
    { 
     InputMethodManager imm = (InputMethodManager)_context.getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(this._textView.getWindowToken(), InputMethodManager.SHOW_IMPLICIT); 
    } 

这里是settig我有屏幕本身在配置文件中的android上:windowSoftInputMode = “stateHidden | adjustPan”

预先感谢您

回答

9

在你showKeyboard功能您致电:

imm.hideSoftInputFromWindow(this._textView.getWindowToken(), InputMethodManager.SHOW_IMPLICIT); 

这会隐藏窗口中的softInput键盘! 你想显示键盘吗?如果是的话那么你可以使用:

imm.showSoftInput(view, flags, resultReceiver); 

编辑:我想你也可以切换从InputMethodManager键盘,尝试:

imm.toggleSoftInput(0, 0); 
+2

谢谢toggleSoftInput(0,0)有效。我无法相信我用隐藏做出的心理错误:)第一个没有工作顺便说一句。 – dropsOfJupiter

+0

有一个问题,键盘已经启动,但是控件的重点不在于此,所以用户仍然需要使用edittext。如何让edittext具有闪烁指示器? – dropsOfJupiter

+0

解决方法editText.requestFocus(); – dropsOfJupiter

-1

@dropsOfJupiter

你可以这样做:editText.requestFocus ()在启动包含EditText引用的Activity或Fragment时。这将把重点放在EditText上,并将使SoftKeyboard成为uo。

我希望这会有所帮助。