12

PhoneNumberFormattingTextWatcher を使用しようとしていますが、コードが存在しないかのように何も起こりません

ここにコードがあります

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
    EditText PhoneEdit = (EditText) findViewById(R.id.editText1); 
    PhoneEdit.addTextChangedListener(new PhoneNumberFormattingTextWatcher());
}

002010555666 を入力しても - または + または () は同じで、書式設定なしでも同じです。コードに何か不足がありますか?

ヘルプ

4

5 に答える 5

18

同じ問題がありましたが、削除するandroid:digits="1234567890+"と消えました。

于 2016-04-25T11:08:56.377 に答える
5

YTerle の回答にコメントを追加しましたが、完全な回答を以下に記載したいと思います。

<android.support.design.widget.TextInputEditText
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:inputType="phone"
                android:hint="@string/phone_number"
                android:layout_marginBottom="5dp"
                android:ems="10"
                android:maxLength="14"
                android:id="@+id/phone" />

次に、コードに次のように記述します。

phoneView.addTextChangedListener(new PhoneNumberFormattingTextWatcher());
于 2016-10-03T15:37:22.713 に答える
0

私はこれをアプリケーションで使用しましたが、エミュレーター (プラットフォーム 4.4.2、API 19 を使用する Android_4.2_Emulator_Smartphone_Nexus_S) では問題なく動作しましたが、プラットフォーム 4.1.2、API 17 を実行している Samsung Tab 3 デバイスで実行すると、まったく効果がありませんでした。多分それはデバイス依存ですか?ドキュメンテーションは、それが API 1 で導入されたことを示しているので、今までにすべてのねじれが解決されているはずですが、明らかにそうではないと思います。

于 2014-05-15T17:26:42.710 に答える