EditTextにカスタムInputFilterを適用して入力値の制限を行う


EditTextで入力できる文字の種類や書式を制限したい場合、android:inputType属性を使用すれば大抵の場合は用が足ります。(ちなみにinputTypeの種類についてはこちらに便利な情報がまとまっています)。inputTypeで実現できないような入力制限を行いたい場合にはInputFilterを使用します。

今回、時刻入力フィールドにての入力は0〜59とする、といった制限が必要になったので、ちょっと調べてみました。

以下のようなEditTextを例にとって説明します。

そして、InputFilterを以下のように実装します。

そして、EditTextにフィルタを設定してあげます。

ちなみにこんな感じの画面で使っています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です