5

カスタムインプットメソッドサービスを実装しており、カーソル更新イベントを受け取ることに関心があります。InputMethodSession の updateCursor() のドキュメントには次のように書かています。

インプットメソッドはどのようにこのイベントをリクエストできますか?

前もって感謝します、

アンドリー

4

2 に答える 2

4

これは未実装のようです。TextView実装では、呼び出しは次のように便利に定義されている をupdateCursor条件としています。InputMethodManager.isWatchingCursor

/**
 * Returns true if the current input method wants to watch the location
 * of the input editor's cursor in its window.
 */
public boolean isWatchingCursor(View view) {
    return false;
}

幸いなことに、カーソルの動きは を使用して検出できますがonUpdateSelection、それらは Rect ではなくテキスト内の論理的な位置として与えられます。

于 2011-04-15T11:45:17.663 に答える
1

API レベル 21 (Lollipop) から、それを行う方法があります。

inputConnection を取得した後。

カーソルのonUpdateCursorAnchorInfo位置が変わるたびに呼び出されます。

于 2015-07-27T15:31:10.313 に答える