10 進数のみをキャプチャするアプリでテキストを編集しています。入力タイプを DECIMAL_NUMBERS に設定しました。
問題は、ユーザーがたとえば 0009 を入力した場合、それを防ぎ、最初にゼロを削除したいということです。
何か案が?
10 進数のみをキャプチャするアプリでテキストを編集しています。入力タイプを DECIMAL_NUMBERS に設定しました。
問題は、ユーザーがたとえば 0009 を入力した場合、それを防ぎ、最初にゼロを削除したいということです。
何か案が?
メソッドをオーバーライドonTextChanged (CharSequence text, int start, int lengthBefore, int lengthAfter)
してユーザー入力を修正し、次を使用して追加しますaddTextChangedListener
これが解決策です。Tnx。:)
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (start == 0 && s.toString().equals("0"))
editText.setText("");
};
文字列の関数regex
と関数を介してゼロを取り除くことができますreplaceFirst
replaceFirst("^0+(?!$)", "")
ここで正規表現を試すことができます: http://regexr.com?32f1o