+
とボタンのある数量フィールドのようなものがあり-
ます。
ユーザーがこれらのボタンをクリックすると、 内の整数が増減しますEditText
。ユーザーはキーボードを使用してフィールドを手動で編集することもできるため、EditText
a ではなくan を使用します。TextView
ユーザーが長押しすると、すぐに更新されるスレッドが開始EditText
され、ユーザーがボタンを離すとスレッドが停止します。更新は順調に進んでいますが、EditText
リスナーが原因でアプリの動作が遅くなります。
私はそのようなログをたくさん手に入れました:
05-22 12:56:21.625: W/IInputConnectionWrapper(15137): getTextAfterCursor on inactive InputConnection
05-22 12:56:21.635: W/IInputConnectionWrapper(15137): getTextBeforeCursor on inactive InputConnection
05-22 12:56:21.635: W/IInputConnectionWrapper(15137): getTextAfterCursor on inactive InputConnection
05-22 12:56:21.635: W/IInputConnectionWrapper(15137): getTextBeforeCursor on inactive InputConnection
KeyListener
スレッドを開始する前に null に設定することで、フリーズを回避できました
editText.setKeyListener(null)
しかし、ソフトキーボードの入力タイプが変更されるため、このソリューションにはあまり満足していません。ユーザーがボタンをクリックするたびに、ソフト キーボードが数値入力タイプから標準入力タイプに変わります。
をスパムするときにフリーズを回避する別の方法はありEditText
ますか?