2011-06-25 80 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。

我希望這會有所幫助。