問題タブ [inputconnection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
924 参照

android - Android: InputConnection に getSelection() メソッドがありません

があるのに がないのはsetSelectionなぜですか?InputConnectiongetSelection()

getTextBeforeCursor(VERY_HIGH_NUMBER, 0)その文字列の を実行して計算するだけ.length()ですか?

0 投票する
2 に答える
3566 参照

android - 入力接続 - 選択したテキストを削除するには?

Android用のカスタムキーボードを作りました。私が使用するキーボードのバックスペースボタンを押すと

入力フィールドから 1 文字を削除します。しかし、テキストを選択してバックスペースボタンを押しても、選択したテキストは削除されません。バックスペースボタンを押したときに選択したテキストもキーボードから削除されるようにするには、入力接続でどの方法を使用すればよいですか?

0 投票する
2 に答える
1419 参照

android - 削除キーの作成方法-カスタムAndroidキーボードで選択したすべての編集テキストを削除します

私はカスタム Android キーボードを作成しています。編集テキストが選択されている場合は、すべての編集テキストを削除するために削除キーが必要です。

つまり、テキストが選択されると、clipboard(cut,copy,paste が表示されます); そのモードでは、削除キーが押された場合、すべて削除する必要があります。現在はありません。

PSは、特定の編集テキストについて教えてくれません。それはカスタムキーボードであり、テキストを編集することはできません。

0 投票する
1 に答える
281 参照

android - InputConnectionWrapper がファイナライズされておらず、Android でメモリ リークが発生しています

特定の状況では、EditText を作成し、値を別の Fragment に渡し、EditText が属する ViewGroup で removeAllViews を呼び出して、EditText を削除します。

問題は、EditText に関連付けられた InputConnectionWrapper がまだメモリを占有していることです。

ここに画像の説明を入力

上記のヒープ ダンプでは、InputConnectionWrapper が 300 を超えて割り当てられており、かなりのメモリを占有しています。

ただし、Heap Dump が有効な場合、Activity には EditText が 1 つしかないため、対応する EditText により、InputConnectionWrapper が作成されていないと判断されます。

InputConnectionWrapper を閉じるために、次の関数を試しました。

ただし、InputConnectionWrapper はファイナライズされていないため、時間の経過とともにさらに割り当てられるようです。

InputConnectionWrapper がファイナライズされない理由は何ですか?