どうやってEditTextの改行を不可にするの?
任意のテキストの入力ができるEditText。
単純にEditTextを配置した場合、改行が出来る状態になってますが、作ろうとしているAndroidアプリでは、改行を不可にしたい場合があるかと思います。
例えば、検索するキーワードの入力用のEditTextとか。
ここでは、そんな場合、EditTextの改行を不可にする方法を紹介します。
レイアウトにEditTextを配置しているという前提でお話を進めます。
単純に、EditTextを配置すると、レイアウトのxmlには、以下のような形でEditTextのタグが生成されています。
<EditText android:layout_height=”wrap_content” android:layout_width=”wrap_content” android:id=”@+id/EditText01″></EditText>
改行を不可にする方法を調べましたら、逆に、「改行を可能にする」という設定がありました。
それが、EditTextのinputTypeというプロパティにあります。
このプロパティのtextMultiLineというプロパティを有効にすると、改行が可能になるらしい。
ここで疑問。
そんなプロパティを有効にしていないのに、なぜ改行が出来るの?
ここは推測ですが、inputTypeが全く未設定の場合は、デフォルトで改行が出来るようになっているのでしょう。
という事で解決策は、
EditTextのinputTypeを明示的に設定する
という事です。
例えば、キーワード入力のように、任意の文字が入力可能であるEditTextで、改行を不可にしたい場合は、inputTypeに「text」を指定してやります。
すると、改行が不可になってくれます。
<EditText android:layout_height=”wrap_content” android:layout_width=”wrap_content” android:id=”@+id/EditText01″
android:inputType=”text” ←これを追加
></EditText>
スポンサーリンク
Eclipseでの設定方法
1.Android Layout Editorで、レイアウトのxmlを開き、改行を不可にしたいEditTextを選択する。
2.Propatiesのウィンドウで、Input Typeを選択する。
3.Input TypeのValue欄の右側に、ボタンが出てくるので押す。
以下の画像の赤枠部分です。
4.以下のような画面が表示されますので、textにチェックしてOK。
逆に、改行を可能にしたい場合は、textMultiLineにチェックを入れればOKです。
Leave a Reply