[Android Studio] EditTextに値をセットする

どうも、tatsuです!

今日は、EditTextに値をセットする方法を説明します。

※この記事で使用しているAndroid Studioのバージョンは2.3.3です。

EditTextに値をセットする

「EditTextに値をセットするときにTextViewと同じやり方でセットできると思ったのにできなかった。2番目の引数ってなにを選べばいいの?」と思った方いませんか?
私も最初そうなりました(笑)
なので今回はEditTextに値をセットするメソッドの説明をしたいと思います。
使用するメソッドはsetTextです。以下のソースを参考にしてください。

    String dispBody = "こんにちは";
    EditText body = (EditText)findViewById(R.id.body);
    // 1番目:セットする文字列、2番目:TextView.BufferType.NORMAL
    body.setText(dispBody, TextView.BufferType.NORMAL);
補足
setTextの2番目の引数には以下の選択肢があります。

  • TextView.BufferType.NORMAL
  • TextView.BufferType.EDITABLE
  • TextView.BufferType.SPANNABLE

通常使用する分には「TextView.BufferType.NORMAL」を指定しておけば大丈夫かと思います。
この2番目の引数、どんな意味があるのかと言いますと、getText()メソッドでの返却する型を指定しています。
それぞれの返却時の型は次の通りです。

  • TextView.BufferType.NORMAL ⇒ CharSequences型
  • TextView.BufferType.EDITABLE ⇒ Spannable型とEditable型
  • TextView.BufferType.SPANNABLE ⇒ Spannable型

String型はCharSequencesインターフェースを実装していますので、とりあえずNORMALを指定しておけば問題ないということです(SpannableとEditableもCharSequencesを実装しています)。

また、SpannableとEditableについても簡単に説明します。

  • Spannable ⇒ テキストをマークアップすることができるインターフェース(一部文字サイズ変更・下線を引く等)
  • Editable< ⇒ テキストの内容を変更することができるインターフェース(一部文字を挿入・削除等)

SpannableとEditableについては以下の記事を参考にしてください。
[Android Studio] Spannableを使用してテキストをマークアップする
[Android Studio] Editableを使用してテキストに文字列を追加・削除する

コメントを残す

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