3

Androidカスタムキーボードを作成しました。ボタンを押した後、キーボードを以前のキーボードに戻したいのですが、おそらくInputMethodManager.setInputMethod(IBinder token, String id);

ただし、トークンをどこから取得するかがわかりません。使用getCurrentInputBinding().getConnectionToken()しても機能しません。

トークンの場所を知っている人はいますか?

ありがとう、

エド

4

3 に答える 3

1

メソッドが処理を実行することが判明しましたswitchInputMethod(String id)-そのトークンは必要ありません。

于 2012-06-26T21:14:56.700 に答える
1

ビューからトークンを取得しますview.getWindowToken()

于 2012-07-27T07:48:32.470 に答える
0

このメソッドを使用してトークンを取得し、最後に使用したキーボードをアクティブ化できます

 private fun switchToLastKeyboard() {
        try {
            val imm: InputMethodManager =
                this.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
            val token = this.window.window!!.attributes.token
            //imm.setInputMethod(token, LATIN);
            imm.switchToLastInputMethod(token)
        } catch (t: Throwable) { // java.lang.NoSuchMethodError if API_level<11
            Log.i("TAG", "onCreateInputView: Throwable " + t.message)
        }

    }
于 2020-11-15T12:25:41.193 に答える