用模式android输入EditText

Sha*_*dul 8 android design-patterns alphanumeric android-edittext

我有一个EditText,我必须接受来自用户的字母数字输入,这些输入特定于模式,连字符' - '会自动插入.

"XXX-XXX-XXXX"
Run Code Online (Sandbox Code Playgroud)

怎么实现呢?android中有任何模式工具吗?

Sav*_*kii 5

您可以使用PatternedTextWatcher实现这一点。

编辑:

EditText editText = (EditText) findViewById(R.id.edittext);

// Add text changed listener for automatic dots insertion.
editText.addTextChangedListener(new PatternedTextWatcher("###-###-####"));
Run Code Online (Sandbox Code Playgroud)

在 XML 中:

<EditText
    android:id="@+id/edittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:digits="1234567890-"/>
Run Code Online (Sandbox Code Playgroud)


Lab*_*lan 2

您可以使用 addTextChangedListener 来 EditText
参考这个问题,它演示了它