AndroidはEditTextにプレースホルダーテキストを追加します


365

XMLにないクラスにプレースホルダーテキストを追加するにはどうすればよいEditTextですか?

EditText警告ダイアログに表示されるコードに次のコードがあります。

    final EditText name = new EditText(this);

1
プレースホルダーとはどういう意味ですか?
LuxuryMode

4
テキストバーに明るい色で書かれているテキストであり、ユーザーがテキストバーをクリックして何かを書くと、そのテキストは消えます。
モナ

回答:


832

あ、そう。あなたが探しているのはsetHint(int)です。単にあなたのxmlから文字列のリソースIDを渡すだけでいいのです。

ここに画像の説明を入力してください

編集

そしてXMLでは、それは単に android:hint="someText"


6
ありがとう!私は彼らがアンドロイドでそれを何と呼ぶのか知りませんでした、私はちょうどiOSではそれがプレースホルダーと呼ばれていることを知っていました。
モナ

39
プレースホルダーとして広く知られていますが、もちろんandroidは違うだけです;)
Joe Maher

21

android:hint="text" ユーザーが特に入力する必要がある情報をユーザーに提供します editText

例:-iには、数値用と文字列値用の2つのedittextがあります。ユーザーにヒントを設定して、彼が彼に与える必要がある値を理解できるようにします

android:hint="Please enter phone number"
android:hint="Enter name" 

アプリを実行した後、これら2つのedittextは入力されたヒントを表示します。edittextをクリックした後、ユーザーは希望するものを入力できます(luxurymodeの画像を参照)


これはAndroidではヒントと呼ばれます。
モンティ

11

あなたの活動で

<EditText
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="10dp"
                android:background="@null"
                android:hint="Text Example"
                android:padding="5dp"
                android:singleLine="true"
                android:id="@+id/name"
                android:textColor="@color/magenta"/>

ここに画像の説明を入力してください


7

これは* !!に変換されないヒントのある入力パスワードの作り方です。

XMLについて:

android:inputType="textPassword"
android:gravity="center"
android:ellipsize="start"
android:hint="Input Password !."

:Dの洞察をありがとう:mangoとrjrjr


5

Android Studioでは、GUIを介してヒント(プレースホルダー)を追加できます。まず、デザイナービューでEditTextフィールドを選択します。次に、IDEのコンポーネントツリーの左側をクリックします(通常はそこにありますが、最小化されている場合があります)。選択したEditTextのプロパティを確認できます。以下の画像のようにヒントフィールドを見つけます

ここに画像の説明を入力してください

EditTextにヒント(プレースホルダー)を追加できます


3

レイアウトで追加する場所を意味する場合。FrameLayoutのようなコンテナーを定義し、作成時にこのEditTextをコンテナーに追加できます。

<LinearLayout xmlns=".."/>
    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/container" android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

FrameLayout layout = (FrameLayout) findViewById(R.id.container);
layout.addView(name);

1

android:hint属性を使用する必要があります

<EditText
android:id="@+id/message"
android:hint="<<Your placeholder>>"
/>

Android Studioでは、XML->デザインビューに切り替えて、レイアウトのコンポーネント(この場合はEditTextフィールド)をクリックできます。これにより、そのGUIコンポーネントに適用可能なすべての属性が表示されます。これは、存在するすべての属性がわからない場合に便利です。

EditTextには、カスタマイズ用の140を超える属性があることに驚かれることでしょう。


0

ヒントがどのように動作するかとは異なり、フィールドが選択された後もテキストをEditTextビュー内に挿入する場合は、次のようにします。

Javaの場合:

// Cast Your EditText as a TextView
((TextView) findViewById(R.id.email)).setText("your Text")

コトリンでは:

// Cast your EditText into a TextView
// Like this
(findViewById(R.id.email) as TextView).text = "Your Text"
// Or simply like this
findViewById<TextView>(R.id.email).text = "Your Text"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.