■
androidの開発の中で分かったことの備忘録その2
EditTextPreferenceにおいて文字数制限や入力可能文字の限定を行う方法
EditTextPreferenceのメソッド
getEditText()によってEditTextのクラスを取得することにより、
様々な入力の制限をかけることが出来る。
(当然入力制限だけでなく、その他の設定も出来る。たとえばhintとか)
//EditTextPreferenceの取得 EditTextPreference etp = (EditTextPreference)findPreference(getText(/*EditTextPreferenceのキー*/)); //EditTextの取得 EditText et = etp.getEditText(); //入力可能文字を数字に限定 et.setInputType(InputType.TYPE_CLASS_NUMBER); //InputFilterクラスの配列を用意。ここでは文字数制限のみ行っている。 InputFilter[] FilterArray = new InputFilter[1]; //4文字制限を行う場合は、コンストラクタで4を指定する FilterArray[0] = new InputFilter.LengthFilter(4); //作成したフィルタの適用 et.setFilters(FilterArray);
EditTextと違ってEditTextPreferenceはXMLでの属性android:maxLengthを設定することが出来ない。
そのため上記のようにして実現した。