2011-01-31 8 views
3

私は編集テキストを持っています。私はそれに小数点の値を入力したいと思います。Edittextに10進値を入力していますか?

これは最初の番号を入力したときです。 .01

私は2番目の番号を入力しています。これは次のようになります。.12

次に3番目です。それはこのようにする必要があります:1.23

このようになるでしょう....どのようにこのシナリオを実装する。何か案が?

答えて

4

EditTextにTextWatcherを追加する必要があります。これにより、テキストが変更されたときに通知されます。テキストが変更されたときに知って

、あなたはのDecimalFormatを通してそれを実行することができます。

DecimalFormat decimalFormat = new DecimalFormat(); 
decimalFormat.setDecimalSeparatorAlwaysShown(true); 
decimalFormat.setMaximumFractionDigits(2); 
+0

あなたの努力に感謝します。しかし、私はこのscnearioを実装するためのより良いロジックを見つけることができませんでした。これについて助けてください。 – Praveen

+0

上記のコードをどのように実行するのですか? –

1

TextWatcherを使用して、フィールド内の値の変更を検索し、入力時に適切な位置に小数点を挿入することができます。 TextWatcherの使用例については、this SO questionを参照してください。

+0

は私にいくつかのサンプルコードを教えてください。 – Praveen

+0

リンク先のSOの質問にサンプルコードがあると思います。 Google CodeにTextWatcherを使用する例はたくさんあります:http://code.google.com/query/#q=textwatcher –

+0

ありがとうございます。しかし、私はこのscnearioを実装するためのより良いロジックを見つけることができませんでした。これについて助けてください。 – Praveen

関連する問題