device-2011-07-30-195926

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


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

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

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

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

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

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

コメントを残す

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">