2012-03-15 12 views
0

私は、ユーザーから番号を取得してダイヤルするEditTextを含むアプリケーションを作成しようとしています。私はformatNumberを電話番号としてフォーマットしようとしていますが、エラーが出ています。formatNumber(Android)の問題

//inputOne is the input from the EditText 
inputOne = formatNumber(fieldOne.getText().toString()); 

formatNumberはパラメータとして文字列を取るため、エラーが発生する理由を理解できません。

また、setInputTypeを使用してみましたが、android.widget。*をインポートしたにもかかわらず、同様のエラーが発生しました(symbol:variable InputTypeが見つかりません)。

fieldOne = (EditText) findViewById(R.id.input1); 
fieldOne.setInputType(InputType.TYPE_CLASS_PHONE); 

おそらく痛いほど明白な解決策がありますが、わかりません。

+0

どのようなエラーが表示されますか? InputTypeの場合は、android.text.InputTypeをインポートする必要があります。 –

答えて

0

おそらく、正規表現を使用してフォーマットを取得できます。 例: Regex.Replace( "1112224444"、@ "(\ d {3})(\ d {3})(\ d {4})"、 "$ 1- $ 2- $ 3"); EditTextにinputTypeは= "電話":属性アンドロイドを追加することができます How to format a string as a telephone number in C#

+0

同じスレッドには他にもいくつかのオプションがあります。あなたは一見をすることができます。 – Calvin

0

が、この質問から撮影します。これはapi-15で動作する可能性があります。

<EditText 
     android:id="@+id/editText1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:inputType="phone" > 
</EditText> 
+0

私はRegExを使うことができましたが、クラスが既に存在するので、私はそれを使うことを躊躇します。 私は、異なるタイプの入力(電話番号、文字列など)に対して同じEditTextを使用しようとしているという事実についても触れておきます。それは賢明なことですか、私は別のEditTextsを作成し、上記の方法を使うべきですか?それはかなり非効率的になるかもしれないようですが、おそらくそれが正常に行われる方法です。 (申し訳ありませんが、これらは愚かな質問です...私はAndroidと一般的なプログラミングに新しいです)。 – jacky