Androidで文字を入力してもらうには、EditTextを使います。
- EditTextのプロパティ(hint、inputType)
- 入力された文字列の取り出し
|
■■■■いろいろなプロパティ■■■■
EditTextでは、入力文字列をチェックして、たとえば、数字しか入力できないようなEditTextを作ることができます。
そんな時に使うのがinputTypeというものです。
また、EditTextに何も入力されていない時に、表示しておく文字列をヒントといいます。
ヒントとして使う文字列はres/values/strings.xmlに登録しておきます。
文字列をリソースとして登録
<string name="prompt">ここに〇〇を入力</string>
|
リソースのレイアウトres/layout/activity_main.xmlでinputType、hintを設定する。
<EditText
android:id="@+id/edit1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine"
android:hint="@string/prompt" />
|
android:inputTypeについて
android:inputTypeを指定するとたとえば、数字しか入力できないなどを指定することができます。
リソースで登録しておく場合とプログラムで指定する場合があると思いますが、
プログラムで指定するには、setInputTypeメソッドを使います。
EditText edit = (EditText)findViewById(R.id.edit1);
edit.setInputType
(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL);
|
よく使いそうな、入力チェックについて、リソースで指定する場合の値とプログラムで指定する場合の引数を次にまとめてみました。
入力値 |
android:inputTypeで指定するもの |
EditText#setInputTypeメソッドの引数 |
改行なしテキスト |
text |
InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL |
改行含むテキスト |
textMultiLine |
InputType. TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE |
パスワード入力 |
textPassword |
InputType. TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD |
符号なし整数 |
number |
InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL |
符号付き整数 |
numberSigned |
InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED |
小数点含めた数字 |
numberDecimal |
InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL |
android:hintについて
android:hintでの指定をプログラムで行うにはsetHintメソッドを使います。
EditText edit = (EditText)findViewById(R.id.edit1);
edit.setHint(R.string.prompt);
|
■■■■入力された値を取り出す■■■■
プログラムで入力されたテキストを取得するには、次のように、getText().toString()で取得します。
EditText edit = (EditText)findViewById(R.id.edit1);
String str = edit.getText().toString();
|
にほんブログ村