0

カスタム EditField を作成しましたが、スライダーが開いているときにカーソルに問題があります。

私が使用している EditField は EditField からサブクラス化され、 を使用してより良いスタイルを追加してFieldDecor.setVisualStateBorderAndBg( this );いますが、機能は変更していません。ペイントでも を呼び出すだけsuper.paint( graphics );です。私が変更した唯一の動作は、スライダーが閉じられたときの (フォーカス イベント中の) ソフト キーパッドの表示と非表示の呼び出しです。

問題は、アプリケーションがスライダーを開いた状態で開き、テキストが編集されている場合です。カーソルは、最初のフォーカスがあるべき場所に描画されますが、テキストが編集されている間、次のように同じ場所にとどまります。 カーソルが間違った場所に描画されたカスタム EditField

スライダーが閉じている場合は問題ありません。また、スライダーを開いてキーボードを使用している場合も問題ありません。

カーソル位置は適切に設定および記憶されていますが、視覚的には更新されていません。への呼び出しを追加しinvalidate()てオーバーライドしようとしupdate()ましたが、成功しませんでした。

これは 9800 シミュレータでのみ発生する問題であり、8530 デバイスでは発生しないことに注意してください。

更新: これは、ダイレクト フォーカス イベント中にのみ発生します。トラックボール使用時は表示されません。

4

0 に答える 0