1

inputType=numberDecimal で EditText を使用すると、奇妙な動作だと思います。

Galaxy Nexus (Google キーボードを使用) で editText フィールドをタップすると、下線が表示されることがよくあります。

ここに画像の説明を入力

オートコレクト、オートコンプリート、またはテキストの提案のように見えますが、numberDecimal 入力タイプには意味がありません。私は textNoSuggestions を試しましたが、予想通り、これは下線を削除しませんでした。

存在する場合、これらの下線が現在問題を引き起こしています。editText のリスナーとして textwatcher をアタッチしています。フィールドをタップすると、この下線が表示され、カーソルがスクリーンショットのように配置されます。

  1. ユーザーが 2 を入力すると、onTextChanged は 0.002 を受け取ります。正解です。次に、afterTextChanged でこの数値を 0.02 にフォーマットします。

  2. この時点でユーザーが 3 を入力すると、onTextChanged は 0.020023 を受け取ります。これは正しくありません。何らかの理由で、「002」が editText 値の 3 の前に追加されています。

私の textwatcher ロジックは長い間機能しており、最近になってこの問題が発生し始めました。カーソルを移動して下線を消すと、onTextChanged が「正しくない」値を受け取ることに問題はありません。

この下線が発生するようになった原因に関する限り、私はそれを Google キーボード アプリに絞り込んだと思います。Google キーボード バージョン 1.1.1881.801980 を使用すると、この問題が発生します。アップデートをアンインストールし、バージョン 4.2.2-573038 にロールバックしましたが、そのバージョンでは下線が表示されないため、textwatcher に問題はありません。

だから、私の質問:

この下線が numberDecimal フィールドにあるはずのものを知っている人はいますか? それは合法ですか、それともバグですか?

バグであろうとなかろうと、ユーザーがフィールドをタップしたときにこの下線が表示されないようにする方法を知っている人はいますか?

4

4 に答える 4

1

私は非常によく似た問題を抱えています。下線付きのテキストを取得するたびに、テキスト リスナーが onTextChanged の CharSequence に対して予期しない値を取得しています。

于 2013-09-30T19:52:59.907 に答える
0

この問題は、Google キーボード アプリの最新のアップデート バージョン 2.0.18933.905102a で修正されました。

于 2013-11-14T13:17:31.063 に答える