2013年10月8日火曜日

EditTextにおける文字制限の設定(入力候補の非表示など)

EditTextで英数字のみや、数字のみを入力したい場合に、文字制限を行うことができます。EditTextのインスタンスのsetInputTypeでオプションを設定します。
@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        setContentView(R.layout.main);
        
        EditText editText = (EditText)findViewById(R.id.edittext);
        //Not to display any dictionary-based candidates
        editText.setInputType(InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);

    }
EditTextに文字を入力する際に、辞書機能が働き、入力候補が表示されてしまうのを非表示にする設定なども用意されています。

InputTypeの設定オプションは以下の通りです。

  • TYPE_CLASS_DATETIME 日付と時刻
  • TYPE_CLASS_NUMBER 数値
  • TYPE_CLASS_PHONE 電話番号
  • TYPE_CLASS_TEXT 文字列
  • TYPE_TEXT_FRAG_AUTO_COMPLETE オートコンプリート機能
  • TYPE_TEXT_FLAG_AUTO_CORRECT 文字列の自動修正機能
  • TYPE_TEXT_FLAG_CAP_CHARACTERS すべて大文字
  • TYPE_TEXT_FLAG_CAP_SENTENCES センテンスの先頭が大文字
  • TYPE_TEXT_FLAG_CAP_WORDS 単語の先頭が大文字
  • TYPE_TEXT_FLAG_NO_SUGGESTIONS 入力候補の非表示

0 件のコメント:

コメントを投稿