簡體   English   中英

顯示軟輸入鍵盤

[英]Show soft input keyboard

我正在嘗試為觸摸事件的視圖顯示軟輸入鍵盤。 這條線有效:

inputManager.toggleSoftInputFromWindow(getWindowToken(),0,0);

但這條線不起作用:

inputManager.showSoftInput(this,0);

為什么會這樣? 如果我想將軟輸入連接到視圖怎么辦? 謝謝。

我認為你在模擬器上測試。 不是真正的設備?

它不會在AVD上打開keyboard ,但它會在沒有Hard key board真實設備上打開。

要在AVD上測試它,您需要禁用鍵盤。

禁用鍵盤使用

Click on AVD manager > open you targeted AVD > Edit > Hardware > New > Keyboard Support > OK > Make it "NO"

嘗試這個:

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
 imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);

在onclick事件中嘗試這個。

InputMethodManager imm = 
            (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 
                InputMethodManager.HIDE_IMPLICIT_ONLY);

除非您的View具有焦點,否則showSoftInput()將無法工作。 此外,除非首先將setFocusableInTouchMode()和/或setFocusable()調用為true,否則調用requestFocus()不會給出View焦點。

您需要先請求焦點並顯示軟輸入,如下所示:

    mEditTextStudy.requestFocus();
    mEditTextStudy.post(
            new Runnable() {
                @Override
                public void run() {
                    InputMethodManager imm =
                            (InputMethodManager)
                                    getActivity()
                                            .getSystemService(Context.INPUT_METHOD_SERVICE);
                    if (imm != null) {
                        imm.showSoftInput(mEditTextStudy, SHOW_FORCED);
                    }
                }
            });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM